Requests+正则表达式抓取猫眼电影TOP100

本文介绍了一个使用Python编写的猫眼电影榜单爬虫程序。该程序利用requests库发送HTTP请求获取网页内容,并通过正则表达式解析网页数据,最终将结果保存到本地文件中。文中展示了完整的代码实现过程,包括网页抓取、数据解析和文件存储等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spider.py

 1 # -*- coding:utf-8 -*-
 2 import requests
 3 import re
 4 import json
 5 import codecs
 6 from requests.exceptions import RequestException
 7 from multiprocessing import Pool
 8 
 9 headers = {
10     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'
11 }
12 
13 def get_one_page(url):
14     try:
15         response = requests.get(url,headers=headers)
16         if response.status_code == 200:
17             return response.text
18         return None
19     except RequestException:
20         return None
21 
22 def parse_one_page(html):
23     pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?<a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>', re.S)
24     items = re.findall(pattern, html)
25     for item in items:
26         yield {
27             'index': item[0],
28             'image': item[1],
29             'title': item[2],
30             'actor': item[3].strip()[3:],
31             'time': item[4].strip()[5:],
32             'score': item[5] + item[6]
33         }
34 
35 def save_to_file(content):
36     with codecs.open('result.txt', 'a', 'utf-8') as f:
37         f.write(json.dumps(content, ensure_ascii=False) + '\n')
38 
39 def main(offset):
40     url = 'http://maoyan.com/board/4?offset=' + str(offset)
41     html = get_one_page(url)
42     for item in parse_one_page(html):
43         print json.dumps(item, ensure_ascii=False, encoding='utf-8')
44         save_to_file(item)
45 
46 if __name__ == '__main__':
47     pool = Pool()
48     pool.map(main, [i*10 for i in range(10)])
View Code

 

转载于:https://www.cnblogs.com/stonelovy/p/7644660.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值