# -*- coding:utf-8 -*-
# author: yukun
import requests
from bs4 import beautifulsoup
# 發出請求獲得html原始碼的函式
def get_html(url):
# 偽裝成瀏覽器訪問
resp = requests.get(url, headers=headers).text
return resp
# 解析頁面,獲得資料資訊
def html_parse():
# 呼叫函式,for迴圈迭代出所有頁面
for url in all_page():
# beautifulsoup的解析
soup = beautifulsoup(get_html(url), 'lxml')
# 書名
alldiv = soup.find_all('div', class_='pl2')
names = [a.find('a')['title'] for a in alldiv]
# 作者
allp = soup.find_all('p', class_='pl')
authors = [p.get_text() for p in allp]
# 評分
starspan = soup.find_all('span', class_='rating_nums')
scores = [s.get_text() for s in starspan]
# 簡介
sumspan = soup.find_all('span', class_='inq')
sums = [i.get_text() for i in sumspan]
for name, author, score, sum in zip(names, authors, scores, sums):
name = '書名:' + str(name) + '\n'
score = '評分:' + str(score) + '\n'
sum = '簡介:' + str(sum) + '\n'
data = name + author + score + sum
# 儲存資料
f.writelines(data + '********************===' + '\n')
# 獲得所有頁面的函式
def all_page():
base_url = ''
urllist =
# 從0到225,間隔25的陣列
for page in range(0, 250, 25):
allurl = base_url + str(page)
return urllist
# 檔名
filename = '豆瓣圖書top250.txt'
# 儲存檔案操作
f = open(filename, 'w', encoding='utf-8')
# 呼叫函式
html_parse()
f.close()
print('儲存成功。')
豆瓣讀書爬蟲(requests re)
前面整理了一些爬蟲的內容,今天寫乙個小小的栗子,內容不深,大佬請忽略。內容包括對豆瓣讀書 中的書籍的基本資訊進行爬取,並整理,便於我們快速了解每本書的中心。每當爬取某個網頁的資訊時,首先就是要進入到網頁中,看看有沒有什麼爬取過程中的限制,可以檢視 的robots協議。就是在原 的後面加上 robot...
python 爬蟲 豆瓣讀書使用者評分爬蟲
首先我們先建立接下來需要用的的東西 import requests 匯入requests模組用於請求網頁 from lxml import etree 從lxml模組中匯入etree模組用於解析網頁 class userspinfen 定義乙個douban類,用於承載後面的 def init sel...
python爬蟲 豆瓣
在爬蟲時候,通過requests.get 得到不正確的狀態碼 4 表示出錯 異常狀態碼檢視 fr aladdin 4 19 用requests庫的get 函式抓取乙個你平時經常使用的 主頁,並檢視該 的爬蟲協議 如果有的話 預設答案是正確,你成功了嗎?fp.write r.content b.有些 ...