2018-7-5 20:22:57
正則還是剛看,要多去用正則!正則很強大的東西!
#!/usr/bin/env python
#!--*--coding:utf-8 --*--
#!@time :2018/7/5 18:08
#!@author truenewbee
#coding=utf-8
#爬取貓眼電影
#2018-7-5 17:37:30
#'''很完美!!!!2018-7-5 20:04:10 成功執行!啦啦啦
我覺得正則部分還可以優化有空再優化
'''import
requests
import
reimport
time
import
json
defget_one_page(url):
"""爬取貓眼網頁
"""headers =
response = requests.get(url,headers=headers)
if response.status_code ==200:
return
response.text
return
none
defparse_one_page(html):
"""提取資料
"""#
運用正則提取 電影名字,演員等
pattern = re.compile('
.*?board-index.*?>(\d+).*?data-src="(.*?)".*?name">'
+ '.*?>(.*?).*?star">(.*?)
.*?releasetime">(.*?)
' + '
.*?integer">(.*?).*?fraction">(.*?).*?
', re.s)
items =re.findall(pattern,html)
#遍歷提取的結果生成字典
for item in
items:
yield
defwrite_to_fire(content):
""""把提取的資料寫入檔案
"""with open(
"貓眼top100電影.txt
","a
",encoding="
utf-8
") as f:
(type(json.dumps(content)))
f.write(json.dumps(content,ensure_ascii=false)+'
\n') #
使用json模組實現字典的序列化
defmain(offset):
"""主方法
"""url ='
'+str(offset)
html =get_one_page(url)
for item in
parse_one_page(html):
(item)
write_to_fire(item)
if__name__ == '
__main__':
for i in range(10):
main(offset=i *10)
Top100貓眼電影爬取案例
儲存請求頭的列表 ua list mozilla 5.0 compatible msie 9.0 windows nt 6.1 win64 x64 trident 5.0 net clr 2.0.50727 slcc2 net clr 3.5.30729 net clr 3.0.30729 medi...
python爬取貓眼電影top100
最近想研究下python爬蟲,於是就找了些練習專案試試手,熟悉一下,貓眼電影可能就是那種最簡單的了。1 看下貓眼電影的top100頁面 分了10頁,url為 我們發起請求,得到相應 我們我使用的是requests庫,這是乙個第三方的庫。2 利用正則解析爬取下的頁面 當然你也可以使用xpath和bs4...
爬取貓眼TOP100
學完正則的乙個小例子就是爬取貓眼排行榜top100的所有電影資訊 看一下網頁結構 可以看出要爬取的資訊在標籤和標籤中間 正規表示式如下 pattern re.compile board index.data src name.a.star releasetime integer fraction r...