Requests加正则表达式抓取猫电影信息
2017-10-09 21:08
253 查看
#Author:donghuiya #这是抓取猫眼电影前100页,分四步: #1.得到网页源代码 #2.用正则表达式获得所需要的内容 #3.写入文件中 #4.用多进程更快 import requests from requests.exceptions import RequestException import re import json from multiprocessing import Pool def get_one_page(url): try: response=requests.get(url) if response.status_code==200: return response.text return None except RequestException: return None def parse_one_page(html): pattern=re.compile('<dd>.*?board-index.*?>(.*?)</i>.*?name"><a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)' +'</i>.*?fraction">(.*?)</i>.*?</dd>',re.S) items=re.findall(pattern,html) for item in items: yield{ 'index':item[0], 'title':item[1], 'actor':item[2].strip()[3:], 'time':item[3].strip()[5:], 'score':item[4]+item[5] } def write_to_file(content): with open('result1.txt','a',encoding="utf-8") as f: f.write(json.dumps(content,ensure_ascii=False)+'\n') f.close() def main(offset): url='http://maoyan.com/board/4?offset='+str(offset) html=get_one_page(url) for item in parse_one_page(html): print(item) write_to_file(item) if __name__=='__main__': pool=Pool() pool.map(main,[i*10 for i in range(10)])
相关文章推荐
- 正则表达式相关:C# 抓取网页类(获取网页中所有信息)
- 抓取网页信息,并用正则表达式分析后得到信息。
- Python网页抓取正则表达式应用练习-爬取基金信息
- 正则表达式相关:C# 抓取网页类(获取网页中所有信息)
- 正则表达式相关:C# 抓取网页类(获取网页中所有信息)
- C#使用正则表达式抓取网站信息示例
- Python学习笔记 第二部分 - 正则表达式 与 爬虫小实例(抓取豆瓣电影中评分大于等于8分的影片)
- 浅谈正则表达式在.net的运用-C#程序抓取网页信息
- [转]正则表达式相关:C# 抓取网页类(获取网页中所有信息)
- php curl 正则表达式 抓取微博用户信息练习
- Python爬虫——4.6使用requests和正则表达式、随机代理爬取淘宝网商品信息
- C#正则表达式抓取网站信息
- 正则表达式相关:C# 抓取网页类(获取网页中所有信息)
- 网页抓取信息(php正则表达式、php操作excel)
- 正则表达式相关:C# 抓取网页类(获取网页中所有信息)
- 正则表达式相关:C# 抓取网页类(获取网页中所有信息)
- ObjC利用正则表达式抓取网页内容
- 推荐一个不错的抓取匹配源码的正则表达式网站
- ObjC利用正则表达式抓取网页内容(网络爬虫)
- 豆瓣电影Top250基本信息抓取