前面都没写内容,直接放上原文链接还是有点偷懒,很多人可能不会再点进去看,所以还是辛苦一下,再写一遍好了。
正文:
又是一个实践,这次准备爬取豆瓣电影top250,并把数据保存到mysql中,虽说数据量不大,对速度没有太大的要求,不过为了练习多进程爬虫,还是用多进程的方法写了这个爬虫。
多进程有什么用呢?在数据量少的时候,用不用多进程问题不大,但当数据量大的时候,多进程在效率提升上的作用就非常突出了。进程每多一个,速度就提升一倍,比如我的电脑是4核的,默认开4个进程(当然可以自己设置,但不宜过多),那么效率就能提升四倍。下面来看代码吧。
from bs4 import BeautifulSoup
import requests, get_proxy, pymysql
from multiprocessing import Pool #多进程需要用到的库,pool可以称为进程池
douban_urls = ['https://movie.douban.com/top250?start={}&filter='.format(i) for i in range(0, 250, 25)]
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"}
proxy_list = get_proxy.get_ip_list() #爬取代理的函数可以看我的上一篇日志
db = pymysql