主要爬取貓眼電影最受期待榜的電影排名、鏈結、名稱、主演、上映時間。
思路:1.定義乙個獲取網頁源**的函式;
2.定義乙個解析網頁源**的函式;
3.定義乙個將解析的資料儲存為本地檔案的函式;
4.定義主函式;
5.使用多程序爬取。
import步驟二:定義獲取網頁源**的函式,這裡使用 requests.get() 方法來獲取,並呼叫異常處理方法:requests
import
reimport
json
from multiprocessing import
pool
from requests.exceptions import requestexception
def步驟三:定義乙個函式,利用正規表示式 re.findall() 等函式解析網頁源**,並利用 yield 生成器對解析的**進行排布,轉換為字典形式:get_one_page(url):
response =requests.get(url)
try:
if response.status_code == 200:
return
response.text
return
none
except
requestexception:
return none
def步驟四:定義主函式,爬取最受期待榜的 n 頁:parse_one_page(html):
pattern = re.compile('
.*?board-index.*?">(\d+).*?data-src="(.*?)".*?.*?
' + '
(.*?).*?star">(.*?)
.*?releasetime">(.*?)
.*?'
, re.s)
items =re.findall(pattern, html)
for item in
items:
yield
def步驟五:多程序爬取,定義程序池,並呼叫 pool.map() 方法進行多程序爬取,提高爬取效率:main(offset):
url = '
' +str(offset)
html =get_one_page(url)
for item in
parse_one_page(html):
(item)
write_one_page(item)
if爬取的部分資料如下:__name__ == "
__main__":
pool =pool()
pool.map(main, [i*10 for i in range(10)])
Python爬取貓眼電影
不多說,直接上 import requests import re import random import pymysql import time 連線資料庫 db pymysql.connect host localhost port 3306,user root passwd a db pyt...
爬取貓眼電影
有乙份工作需要我列出兩個電影院的每天電影排期資訊,我不想每次都要去貓眼上覆制貼上。所以做了個爬蟲 功能 能夠知道每天的電影排期資訊 使用限制 只能在當天使用,不能在前一晚上使用,後面我會再考慮修改 coding utf 8 import requests import re from bs4 imp...
python爬取貓眼電影排行
完整的 如下在這裡 閒著沒事,把解析html中的正則方法改用了xpath與beautifulsoup,只能說各有各的優點吧。正則的話,提取資訊可以連貫,一次性提取出所有需要的資訊,當然前提是你的正則式子沒有寫錯,所以說正則寫起來相比xpath與beautifulsoup來說要複雜一下,提取出錯後,除...