爬虫類の対ホームページの書名と対応URLのリンクのは登ります.
どのようにPython爬虫類を通じてウェブサイトの情報を登り取りますか?
Books to Scrpeを例にとって、住所:http://books.toscrape.com/
まずrequestsライブラリとBeautiful Soupを導入します.
(enumerate関数は0から始まりますので、出力したい順は1からi+1、リンク部分はeach 1オブジェクトの「href」を選択すればいいです.)
Books to Scrpeを例にとって、住所:http://books.toscrape.com/
まずrequestsライブラリとBeautiful Soupを導入します.
import requests
from bs4 import BeautifulSoup
URLのソースコード情報を取得するurl = 'http://books.toscrape.com/'
res = requests.get(url)
print(res.status_code) # , 200
html = res.text
F 12またはマウスで右クリックしてウェブページコードを確認すると、本の名前の位置は<li>ブロックで見られ、beauオブジェクトが作成され、find文で検索される.受信用の空リストを作成し、Beautiful Soupを介してソースコードを位置ロックします.book_list = [] #
soup = BeautifulSoup(html, 'lxml')
beau = soup.find('ul', class_='nav nav-list').find('ul').find_all('li')
パラメータqを設定して、beauオブジェクトを巡回します.もう一つのeach 1オブジェクトを追加して、パラメータqのハイパーリンク部分を検索します.更にiを設定して、x二つのパラメータはenumerateとbook_に対してリストは巡回して、順番、書名、アドレスリンクをそれぞれ出力します.(enumerate関数は0から始まりますので、出力したい順は1からi+1、リンク部分はeach 1オブジェクトの「href」を選択すればいいです.)
for q in beau:
book_list.append(q.a.text.strip()) # , book_list
each1 = q.find('a')
for i, x in enumerate(book_list):
print(i+1, ' :' + x + '\t :' + url + each1['href'] + '
')
このとき、「順番+書名+URLリンク」 Pythonのエッセンスは「高効率」です.最后に、书名と対応URLへのリンクを登录するために必要な简素版コードを添付します.import requests
from bs4 import BeautifulSoup
beau = BeautifulSoup(requests.get('http://books.toscrape.com/').text, 'lxml').find('ul', class_='nav nav-list').find('ul').find_all('li')
book_list = []
for q in beau:
book_list.append(q.a.text.strip())
for i, x in enumerate(book_list):
print(i+1, ' :' + x + '\t :' + 'http://books.toscrape.com/' + q.find('a')['href'] + '
')