python多进程抓取猫眼电影top
2018-03-29 16:27
489 查看
pip install requests
使用第三方库requests抓取,
使用第三方库requests抓取,
import requests import re import json import multiprocessing from requests import RequestException # 获取要抓取网页源代码 def get_html(url): try: response = requests.get(url) return response.text except RequestException: return None # 解析单个网页并用正则表达式提取电影信息,用yield构造生成器对象 def parse_html(html): pattern = re.compile('<dd>.*?board-index.*?(\d+).*?data-src="(.*?)".*?name.*?' +'><a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>', re.S) movie_list = re.findall(pattern, html) for item in movie_list: yield{ "排名": item[0], "电影名": item[2], "封面链接": item[1], "主演": item[3].strip(), "上映时间":item[4], } # 将提取到的信息格式化为json文件。 def write_to_file(text): with open('moviestop100.txt','a', encoding='utf-8') as f: f.write(json.dumps(text, ensure_ascii=False)+'\n') # 主方法,构建请求URL,并实现单个页面网页的提取 def main(i): url = 'http://maoyan.com/board/4?offset='+str(i) html = get_html(url) for item in parse_html(html): write_to_file(item) # 程序执行的入口,创建一个进程池对象,并使用map函数实现多进程 if __name__ == "__main__": pool = multiprocessing.Pool() pool.map(main, [i*10 for i in range(12)]) #for i in range(10): # main(i*10)
相关文章推荐
- python爬虫实战:抓取猫眼电影TOP100存放到MongoDB中
- python抓取猫眼电影top100
- python 爬虫抓取猫眼电影 top100 源码
- Python爬虫之三:抓取猫眼电影TOP100
- Python实战---抓取猫眼电影TOP100
- 用python学习抓取借鉴取豆瓣电影top250
- python之爬取猫眼电影TOP100
- python爬取猫眼电影top100榜
- Python爬取猫眼电影TOP100
- python抓取几大票房统计系统数据的之猫眼电影
- python爬虫爬取猫眼电影top100
- 实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
- Python爬虫----抓取豆瓣电影Top250
- python3的爬虫抓取猫眼电影的信息(requests+正则表达式)
- Python爬虫-爬取猫眼电影Top100榜单
- python3抓取猫眼电影(正则表达式)
- python正则表达式简单爬虫入门+案例(爬取猫眼电影TOP榜)
- Python3实战——request+正则表达式:爬取猫眼电影TOP100榜
- Python 爬虫 抓取豆瓣读书TOP250
- Python爬虫(7):多进程抓取拉钩网十万数据