-
大小: 3KB文件類型: .py金幣: 1下載: 0 次發布日期: 2021-05-20
- 語言: Python
- 標簽:
資源簡介
注釋詳細,幫助短時間消化學會使用python3爬蟲,了解并學習使用requests、lxml、xlwt庫。實列中以爬豆瓣電影為例,并下載到表格中。
代碼片段和文件信息
import?requests
from?lxml?import?etree
import?time
#xlwt用于寫入數據到表格中
import?xlwt
header1?=?{‘User-Agent‘:‘Mozilla/5.0?(Windows?NT?6.1;?Win64;?x64)?AppleWebKit/537.36?(KHTML?like?Gecko)?Chrome/63.0.3239.132?Safari/537.36‘}
header2?=?{‘User-Agent‘:‘Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.0;Trident/4.0)‘}
#獲得最大頁碼,用于循環下載頁碼和取出數據
def?get_maxNumber(url):
????r?=?requests.get(urlheaders=header1timeout=5).text
????#使用lxml庫
????selector?=?etree.HTML(r)
????#獲得頁碼的列表,注意?.xpath(‘‘)找到的數字和文字或者混合的,都需要在后面加/text()
????pageNumber_list?=?selector.xpath(‘//div[@class=“paginator“]/a/text()‘)
????#從頁碼列表彈出最后一個頁碼,即最大頁碼,這個頁碼是str類型,需轉換成int類型
????numberMax?=?int(pageNumber_list.pop())
????return?numberMax
names?=?[]
rates?=[]
peopleCounts?=?[]
directors=[]
dates?=?[]
countrys?=?[]
typeMovies?=?[]
def?main():
????start_url?=?‘http://movie.douban.com/top250‘
????page?=?get_maxNumber(start_url)
????for?x?in?range(1page+1):
????????url?=?‘https://movie.douban.com/top250?start=‘?+?str(25*(x-1))?+‘&filter=‘
????????response?=?requests.get(urlheaders=header2timeout=5).text
????????s?=?etree.HTML(response)
????????#獲得電影名字列表
????????name_list?=?s.xpath(‘//ol/li/div/div[2]/div[1]/a/span[1]/text()‘)
????????#將電影名字列表extend到主列表names中
????????names.extend(name_list)
????????rate_list?=?s.xpath(‘//ol/li/div/div[2]/div[2]/div/span[2]/text()‘)
????????rates.extend(rate_list)
????????peopleCount_list?=?s.xpath(‘//ol/li/div/div[2]/div[2]/div/span[4]/text()‘
- 上一篇:xm
l文件讀寫 - 下一篇:python視頻教程.txt
評論
共有 條評論