import requests
import re
import json
from requests.exceptions import RequestException
import time
def getOnePage(url):
try:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.116 Safari/537.36'
}
response = requests.get(url, headers=headers)
if response.status_code==200:
return response.text
else:
return None
except RequestException:
return None
def parseOnePage(html):
pattern = re.compile(
'<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?data-val=.*?">(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?</dd>',re.S
)
items = re.findall(pattern, html)
for item in items:
yield {
'index': item[0],
'pic': item[1],
'title': item[2],
'star': item[3],
'time': item[4]
}
def writeToFile(content):
with open('result.txt', 'a', encoding='utf-8') as f:
f.write(json.dumps(content, ensure_ascii=False) + '\n')
def main(offset):
url = 'https://maoyan.com/board/6?offset=' + str(offset)
html = getOnePage(url)
for item in parseOnePage(html):
print(item)
writeToFile(item)
if __name__=='__main__':
for i in range(5):
main(offset=i * 10)
time.sleep(1)
利用requests和正则表达式爬取猫眼电影最受期待排行
最新推荐文章于 2023-01-13 15:58:42 发布