scrapy里面导入文件itens里面的函数时候,出现No module named ‘items’
解决:
scrapy做爬虫时,导入Module的时候总显示no module named ×××.items?可是检查很多遍都没发现什么大问题啊?
原来这是因为编译器的问题,pycharm不会将当前文件目录自动加入自己的sourse_path。
那么具体的解决方法如下:
1,找到你的scrapy项目上右键
2.然后点击make_directory as
3.最后点击sources root
4.看到文件夹编程蓝色就成功了
变成蓝色
too many values to unpack (expected 2)
在request里面加入headers信息,但是没有回调函数,只是在rules里面加了回调函数则出错
怎么解决?
scrapy中的Request
Request对象在爬虫程序中生成并传递到scrapy engine(引擎),直到它们到达downloader(下载器),后者执行请求并返回一个Response对象,该对象返回到发出请求的爬虫程序。
Request对象
class scrapy.http.Request(url[, callback, method=‘GET’, headers, body, cookies, meta, encoding=‘utf-8’, priority=0, dont_filter=False, errback])
1
参数:
url(string) : 请求的网址
callback(): 将使用此请求的响应(一旦下载)调用的函数作为其第一个参数。
method(string): 此请求的HTTP方法。默认为’GET’。
meta(dict) : Request.meta属性的初始值。如果给定,则此参数中传递的dict将被浅拷贝。
body(str或unicode): 请求体。不管这个参数的类型,存储的最终值将是一个str(不会是unicode或None)。
headers(dict): 请求头。dict值可以是字符串或列表。如果 None作为值传递,则不会发送HTTP头。
cookie(dict或list) - 请求cookie