zhangslob.github.io icon indicating copy to clipboard operation
zhangslob.github.io copied to clipboard

使用scrapy发送post请求的坑 | 小歪的博客

Open zhangslob opened this issue 7 years ago • 3 comments

https://zhangslob.github.io/2018/08/24/%E4%BD%BF%E7%94%A8scrapy%E5%8F%91%E9%80%81post%E8%AF%B7%E6%B1%82%E7%9A%84%E5%9D%91/

1这是崔斯特的第六十三篇原创文章 使用scrapy发送post请求的坑

zhangslob avatar Oct 24 '18 13:10 zhangslob

这篇文章对我很有帮助,我采用FormRequest()一直报错,但是按照大佬的说法,改成Request()就可以了! 大佬,有一个关于scrapy的ua的问题请教下:

这是我在settings的设置:

DEFAULT_REQUEST_HEADERS = {
    'Content-Type': "application/json",
    'user-agent': 'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',}

然后我想用随机ua,就在middlewares里面用了fake_useragent

那么这个middlewares的随机ua真的能覆盖掉settings里的ua吗?到底哪个的优先级高?

谢谢!

dta0502 avatar May 10 '19 06:05 dta0502

@dta0502 这篇文章对我很有帮助,我采用FormRequest()一直报错,但是按照大佬的说法,改成Request()就可以了! 大佬,有一个关于scrapy的ua的问题请教下:

这是我在settings的设置:

DEFAULT_REQUEST_HEADERS = {
    'Content-Type': "application/json",
    'user-agent': 'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',}

然后我想用随机ua,就在middlewares里面用了fake_useragent

那么这个middlewares的随机ua真的能覆盖掉settings里的ua吗?到底哪个的优先级高?

谢谢!

我觉得你需要先了解下什么是Downloader Middleware,process_request的定义是当每个request通过下载中间件时,该方法被调用。 什么是request、什么是response,都需要了解

zhangslob avatar May 10 '19 09:05 zhangslob

@zhangslob

@dta0502 这篇文章对我很有帮助,我采用FormRequest()一直报错,但是按照大佬的说法,改成Request()就可以了! 大佬,有一个关于scrapy的ua的问题请教下:

这是我在settings的设置:

DEFAULT_REQUEST_HEADERS = {
    'Content-Type': "application/json",
    'user-agent': 'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',}

然后我想用随机ua,就在middlewares里面用了fake_useragent

那么这个middlewares的随机ua真的能覆盖掉settings里的ua吗?到底哪个的优先级高?

谢谢!

我觉得你需要先了解下什么是Downloader Middleware,process_request的定义是当每个request通过下载中间件时,该方法被调用。 什么是request、什么是response,都需要了解

感谢大佬, 明白了!

request是从spider到schedule再通过Downloader Middleware到达Downloader,所以这个时候settings里面的默认ua就被这里的随机ua替换掉了!

dta0502 avatar May 10 '19 12:05 dta0502