首先薄荷网里有11种大的食物分类,每种大的食物分类里有10页,每页10个食物及热量记录。本来想把这一共110个url都放入queue队列中,然后爬取,但是这样会打乱食物的分类,所以就只把每个食物大类的10个页面每次放入queue中,这样保证大类不会错乱,但是会比将110个网页放入queue会慢很多。
然后按照每个大类分别放入excel中的不同表单中。
#爬取薄荷网十一大类食物的卡路里
from gevent import monkey
monkey.patch_all()
import gevent,requests,time,openpyxl,os
from gevent.queue import Queue
from bs4 import BeautifulSoup
start = time.time()
url = 'http://www.boohee.com/food/'
res = requests.get(url)
html = res.text
bs = BeautifulSoup(html,"html.parser")
urls = [] #装每种食物种类的url
li = bs.find(class_='row').find_all('li') #每种食物大类的url
for f in li: #f代表每种食物大类
page_urls = []
food_url = f.find(class_="img-box").find('a')['href']
food_url = 'http://www.boohee.com'+food_url
#food_url是每一种食物大类的url
for i in range(1,11):
page_