ホームページ >バックエンド開発 >Python チュートリアル >PythonでWebクローラーを実装する方法

PythonでWebクローラーを実装する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-10-21 15:09:0827607ブラウズ

Python で Web クローラーを実装する方法: 1. リクエスト ライブラリの get メソッドを使用して、URL の Web ページ コンテンツをリクエストします; 2. [find()] メソッドと [find_all()] メソッドHTML ファイルを走査して、指定された情報を抽出できます。

PythonでWebクローラーを実装する方法

Python で Web クローラーを実装する方法:

最初のステップ: クロール

リクエスト ライブラリの get メソッドを使用して、URL の Web ページ コンテンツをリクエストします。

コードを記述する

[root@localhost demo]# touch demo.py
[root@localhost demo]# vim demo.py
#web爬虫学习 -- 分析
#获取页面信息
 
#输入:url
#处理:request库函数获取页面信息,并将网页内容转换成为人能看懂的编码格式
#输出:爬取到的内容
 
import requests
 
def getHTMLText(url):
    try:
        r = requests.get( url, timeout=30 )
        r.raise_for_status()    #如果状态码不是200,产生异常
        r.encoding = 'utf-8'    #字符编码格式改成 utf-8
        return r.text
    except:
        #异常处理
        return " error "
 
url = "http://www.baidu.com"
print( getHTMLText(url) )
[root@localhost demo]# python3 demo.py

PythonでWebクローラーを実装する方法

ステップ 2: 分析

bs4 ライブラリの BeautifulSoup クラスを使用してオブジェクトを生成します。 find() メソッドと find_all() メソッドは、この HTML ファイルを走査して、指定された情報を抽出できます。

コードの記述

[root@localhost demo]# touch demo1.py
[root@localhost demo]# vim demo1.py
#web爬虫学习 -- 分析
#获取页面信息
 
#输入:url
#处理:request库获取页面信息,并从爬取到的内容中提取关键信息
#输出:打印输出提取到的关键信息
 
import requests
from bs4 import BeautifulSoup
import re
 
def getHTMLText(url):
    try:
        r = requests.get( url, timeout=30 )
        r.raise_for_status()    #如果状态码不是200,产生异常
        r.encoding = 'utf-8'    #字符编码格式改成 utf-8
        return r.text
    except:
        #异常处理
        return " error "
 
def findHTMLText(text):
    soup = BeautifulSoup( text, "html.parser" )    #返回BeautifulSoup对象
    return soup.find_all(string=re.compile( '百度' )) #结合正则表达式,实现字符串片段匹配
 
url = "http://www.baidu.com"
text = getHTMLText(url)        #获取html文本内容
res = findHTMLText(text)    #匹配结果
 
print(res)        #打印输出
[root@localhost demo]# python3 demo1.py

PythonでWebクローラーを実装する方法

##関連する無料学習の推奨事項: Python ビデオ チュートリアル #

以上がPythonでWebクローラーを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。