前言:最近正在學習python爬蟲,了解一些基礎知識後,還是要實踐動手熟悉。下面文章例子有空再加備註。。
參考教程:
import requests
import re
import json
import time
from requests.exceptions import requestexception
def get_one_page(url):
try:
response = requests.get(url, headers = headers)
#response.raise_for_status()
if response.status_code == 200:
return response.text
return none
except requestexception:
return none
def parse_one_page(html):
pattern = re.compile('.*?board-index.*?>(.*?).*?data-src="(.*?)".*?name.*?a.*?>(.*?).*?star">(.*?)
.*?releasetime">(.*?)
.*?integer">(.*?)(.*?).*?', re.s)
items = re.findall(pattern, html)
for item in items:
yield
# 字典寫入檔案
def write_to_json(content):
with open('result.txt', 'a', encoding='utf-8') as f:
print(type(json.dumps(content)))
# dumps方法實現字典序列化
f.write(json.dumps(content, ensure_ascii=false,).encode('utf-8').decode('utf-8') + '\n')
def main(offset):
url = '' + str(offset)
html = get_one_page(url)
for item in parse_one_page(html):
write_to_json(item)
if __name__ == '__main__':
for i in range(10):
main(offset=i * 10)
# 延時等待,貓眼反爬蟲,速度過快,無響應
time.sleep(1)
爬蟲 python3 抓取貓眼電影top100
使用urllib,request,和正規表示式,多執行緒進行秒抓,以及異常處理結果 import urllib,re,json from multiprocessing import pool 多程序,秒抓 def get one page url try response urllib.reque...
python抓取貓眼電影列表
分析url分頁規則 其中offset引數值為0到90 用到的庫 pyquery html解析器,語法類似jqueryfake useragent 用於偽造頭部瀏覽器資訊,防爬蟲遮蔽 相關 import requests from requests.exceptions import requeste...
python多程序抓取貓眼電影top
pip install requests 使用第三方庫requests抓取,import requests import re import json import multiprocessing from requests import requestexception 獲取要抓取網頁源 defg...