話不多說,直接上**:
# -*- coding: utf-8 -*-
import requests
from requests import requestexception
import re
import json
#from multiprocessing import pool
def get_one_page(url):
headers=
try:
response = requests.get(url,headers = headers)
if response.status_code == 200:
return response.text
return none
except requestexception:
print('請求出錯')
return none
def parse_one_page(html):
pattern = re.compile('.*?board-index.*?>(\d+).*?data-src="(.*?)".*?name">(.*?).*?star">(.*?)
.*?releasetime">(.*?)
.*?integer'
+'">(.*?).*?fraction">(.*?).*?',re.s)
items = re.findall(pattern,html)
#print(items) lists contains 10 tuple
for item in items:
yield
def write_to_file(content):
with open('result.txt','a',encoding='utf-8') as f:
f.write(json.dumps(content,ensure_ascii=false) + '\n')
f.close()
def main(offset):
url = '' + str(offset)
html = get_one_page(url)
#print(html)
for item in parse_one_page(html):
print(item)
write_to_file(item)
if __name__ == '__main__':
for i in range(10):
main(i*10)
#pool = pool()
#pool.map(main,[i*10 for i in range(10)])
最終執行結果,就是抓取了貓眼電影的top100,並把詳細資訊訪問到了txt檔案中。如圖
沒有開多程序,因為開了以後,序列號就亂了,並且出現了中文亂碼現象。
這個抓取和之前的兩篇還是比較像的。所以暫且不表。
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...
抓取貓眼電影排行
今天學習 python3網路爬蟲 第三章時,在章節尾部的爬取貓眼電影排行練習中成功實現,但這一部分有點不明白,先記錄下來 def get one page url try headers response requests.get url,headers headers if response.st...