我写了一个获取淘宝店铺商品的爬虫,大概流程是:
先向店铺网址shopUrl发送请求,然后从里面提取一个叫wid的参数以及一个真正返回宝贝信息的xhr请求网址xhrUrl。
组合这个xhrUrl和wid参数以及pageNo可以向后台请求每个分页的jsonp数据。
分析jsonp数据,通过re和bs4从里面提取有用信息。
整个过程写成一个函数fetch_from(shopUrl),我有一个很多商铺网址组成的列表urlList,我把它放在一个多进程中执行,总是报错,有时提示分析数据时某个列表有indexError,有时是re模块search返回的为None。但是我找到这些报错的shopUrl,然后放到fetch_from函数中去执行,并不会报错,能顺利跑完。请问有人能帮我看看是什么问题不?
if __name__=="__main__":
pool=multiprocessing.Pool()
pool.map(fetch_from,urlList)
pool.join()
pool.close()
下面这样也会报错:
if __name__=="__main__":
for url in urlList:
fetch_from(url)