pythonネットワーク爬虫類(第一章)
1671 ワード
pythonネットワーク爬虫類(第一章)
(内容はO’Reilly(人民郵電出版社)の「Pythonネットワーク爬虫権威ガイド」というブログは勉強の記録だけに使われています。後で使いやすいです。)
現在、このシリーズの記事(pythonネットワーク爬虫類ノート)の更新状況:第一章:本文第二章:pythonネットワーク爬虫類(第二章)の簡単な例:pythonネットワーク爬虫類(簡単な例)
皆さん、調べてください。足りないところや間違いがあったら教えてください。
コード:
1、urllibはpythonの標準ライブラリであり、ページからデータを要求し、cookieを処理し、要求ヘッダやユーザエージェントなどのメタデータを変更する機能も含む。urlopenは、ネットワークから取得したリモートオブジェクトを開くために使用されます。簡単にHTMLファイル、画像ファイル、または他のファイルストリームを取得できます。
(内容はO’Reilly(人民郵電出版社)の「Pythonネットワーク爬虫権威ガイド」というブログは勉強の記録だけに使われています。後で使いやすいです。)
現在、このシリーズの記事(pythonネットワーク爬虫類ノート)の更新状況:第一章:本文第二章:pythonネットワーク爬虫類(第二章)の簡単な例:pythonネットワーク爬虫類(簡単な例)
皆さん、調べてください。足りないところや間違いがあったら教えてください。
コード:
from urllib.request import urlopen
from urllib.error import HTTPError
from urllib.error import URLError
from bs4 import BeautifulSoup
def getTitle(url):
try:
html = urlopen(url)
except HTTPError as e:
return None
try:
bs = BeautifulSoup(html.read(), 'html.parser')
title = bs.body.h1
except AttributeError as e:
return None
return title
title = getTitle('http://www.pythonscraping.com/pages/page1.html')
if title == None:
print('Title could not be found!')
else:
print(title)
説明:1、urllibはpythonの標準ライブラリであり、ページからデータを要求し、cookieを処理し、要求ヘッダやユーザエージェントなどのメタデータを変更する機能も含む。urlopenは、ネットワークから取得したリモートオブジェクトを開くために使用されます。簡単にHTMLファイル、画像ファイル、または他のファイルストリームを取得できます。
from url lib.request import url open
html = urlopen(‘http://pythonscraping.com/pages/page1.html')
print(html.read())
2、Beautiful Soupライブラリ:HTMLコンテンツをBeautiful Soupオブジェクトに伝えることができます。bs = BeautifulSoup(html.read(), ‘html.parser’)
# HTML , BeautifulSoup 。 ’html.parser’、’lxml'、 #'html5lib'
3、異常処理に必要な標準倉庫:urllib.errorfrom urllib.error import HTTPError
#HTTP , ( )
from urllib.error import URLError
#
try+exceptを使って、Noneオブジェクトの下のワードラベルを呼び出すと、AttributeErrエラーが発生します。具体的なコードは本文の先頭の総合コードを見てもいいです。