pip install requests
使用第三方庫requests抓取,
import requests
import re
import json
import multiprocessing
from requests import requestexception
# 獲取要抓取網頁源**
defget_html
(url):
try:
response = requests.get(url)
return response.text
except requestexception:
return
none
# 解析單個網頁並用正規表示式提取電影資訊,用yield構造生成器物件
defparse_html
(html):
pattern = re.compile('.*?board-index.*?(\d+).*?data-src="(.*?)".*?name.*?'
+'>(.*?).*?star">(.*?)
.*?releasetime">(.*?)
', re.s)
movie_list = re.findall(pattern, html)
for item in movie_list:
yield
# 將提取到的資訊格式化為json檔案。
defwrite_to_file
(text):
with open('moviestop100.txt','a', encoding='utf-8') as f:
f.write(json.dumps(text, ensure_ascii=false)+'\n')
# 主方法,構建請求url,並實現單個頁面網頁的提取
defmain
(i):
url = ''+str(i)
html = get_html(url)
for item in parse_html(html):
write_to_file(item)
# 程式執行的入口,建立乙個程序池物件,並使用map函式實現多程序
if __name__ == "__main__":
pool = multiprocessing.pool()
pool.map(main, [i*10
for i in range(12)])
#for i in range(10):
# main(i*10)
多程序抓取貓眼電影top100
import json from multiprocessing import pool import requests from requests.exceptions import requestexception import re 建構函式,輸入乙個url 傳送請求後返回該 的響應結果 de...
python抓取貓眼電影列表
分析url分頁規則 其中offset引數值為0到90 用到的庫 pyquery html解析器,語法類似jqueryfake useragent 用於偽造頭部瀏覽器資訊,防爬蟲遮蔽 相關 import requests from requests.exceptions import requeste...
抓取貓眼電影排行
首先將第乙個頁面抓取下來 import requests 抓取乙個 def get one page url headers response requests.get url,headers headers 判斷響應的狀態碼 if response.status code 200 return r...