資源簡介
爬取指定標簽List下評分8.5分以上的圖書信息,包括書名、作者、評分、簡介,并保存到excel,以標簽分類,放到不同的sheet中。核心代碼:
title= book.find_element_by_xpath('.//a[1]').text #獲取書名
zuozhe= book.find_element_by_xpath('.//div[1]').text.split('/',1)[0]
jianjie= book.find_element_by_xpath('.//p[1]').text #獲取簡介
worksheet.write(i,0,fenshu); #分數寫入第i行的第一列
worksheet.write(i,1,title); #書名寫入第i行的第二列
worksheet.write(i,2,zuozhe); #作者寫入第i行的第三列
worksheet.write(i,3,jianjie); #簡介寫入第i行的第四列
代碼片段和文件信息
#coding:utf-8
from?selenium?import?webdriver?#自動化測試模塊
from?urllib?import?parse?#url過濾特殊字符
import?xlwt?#excel寫入用
self?=?webdriver.Chrome()??#指定selenium進行自動化操作時選用谷歌瀏覽器
workbook?=?xlwt.Workbook(encoding?=?‘ascii‘)?#創建workbook
k=0;
fenlei=[?
‘職場‘‘互聯網‘‘用戶體驗‘?
]
try:
for?f?in?fenlei:
print(f)
worksheet?=?workbook.add_sheet(f)?#每各標簽創建一個sheet,sheet名為標簽名
i=0;#記錄每個標簽爬取到了多少符合條件的數據
j=0;#記錄每個標簽有多少數據結構不規范的數據
self.get(‘https://book.douban.com/tag/‘+parse.quote(f)+‘?start=0&type=T‘)??#打開指定標簽第一頁的網頁
pagesize?=?int(self.find_elements_by_class_name(‘paginator‘)[0].find_element_by_xpath(‘.//a[last()]‘).text)?#獲取該標簽下有多少頁數據
if?pagesize>50:?#不知道為什么,每個標簽下,只能瀏覽前50頁
pagesize=50
for?num?in?range(0pagesize):
self.get(‘https://book.douban.com/tag/‘+parse.quote(f)+‘?start=‘+str(num*20)+‘&type=T‘)?#打開指定標簽、指定頁數的網頁
total_book?=?self.find_element_by_id(‘subject_list‘)?#獲得當頁圖書列表所在容器
books?=?total_book.find_elements_by_class_name(‘info‘)???#獲得當頁所有包含單個圖書信息的容器,返回一個數組
for?book?in?books
- 上一篇:教務管理系統(Python)
- 下一篇:百度坐標轉WGS84坐標程序
評論
共有 條評論