博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Requests+正则表达式抓取猫眼电影TOP100
阅读量:5245 次
发布时间:2019-06-14

本文共 1742 字,大约阅读时间需要 5 分钟。

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.text18         return None19     except RequestException:20         return None21 22 def parse_one_page(html):23     pattern = re.compile('
.*?board-index.*?>(\d+).*?data-src="(.*?)".*?
(.*?).*?star">(.*?)

.*?releasetime">(.*?)

.*?integer">(.*?).*?fraction">(.*?).*?
', 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

你可能感兴趣的文章
Oracle-05
查看>>
linux grep 搜索查找
查看>>
Not enough free disk space on disk '/boot'(转载)
查看>>
android 签名
查看>>
vue项目中使用百度统计
查看>>
android:scaleType属性
查看>>
SuperEPC
查看>>
CentOS7安装iptables防火墙
查看>>
mysql-5.7 innodb 的并行任务调度详解
查看>>
shell脚本
查看>>
Upload Image to .NET Core 2.1 API
查看>>
Js时间处理
查看>>
Java项目xml相关配置
查看>>
三维变换概述
查看>>
第三次作业
查看>>
vue route 跳转
查看>>
【雷电】源代码分析(二)-- 进入游戏攻击
查看>>
cocos2d-x中CCLabelAtlas的小图片拼接
查看>>
Entityframework:“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。...
查看>>
Ubuntu 安装之python开发
查看>>