爬取貓眼電影榜單的top100並輸出csv檔案

2021-08-28 04:16:40 字數 1828 閱讀 9944

#!/usr/bin/env python 

# -*- coding:utf-8 -*-

#encoding = utf-8

import json

import pandas as pd

import requests

from gevent.pool import pool

from requests.exceptions import requestexception

import re

import csv

defget_one_page

(url):

try:

hd =

response = requests.get(url, headers=hd)

if response.status_code==200:

return response.text

return

none

except requestexception:

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_file

(content):

with open('result.txt', 'a', encoding='utf-8') as f:

f.write(json.dumps(content, ensure_ascii=false) + '\n')

defmain

(): con_list =

for i in range(10):

url = '' + str(i*10)

html = get_one_page(url)

# parse_one_page(html)

# print(html)

for item in parse_one_page(html):

# print(item)

# write_to_file(item) #寫入到txt檔案中

print(con_list)#測試是否為[{}{}...]檔案

df = pd.dataframe(con_list, columns=['id', 'image', 'title', 'actor', 'time', 'score'])

# print(df)# 輸出pandas結果集

df.to_csv('./myfir.csv', index=false, encoding='utf_8_sig')

if __name__ == '__main__':

main()

# for i in range(10):

# pool =pool()

# pool.map(main, [i*10 for i in range(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...