python - Scrapy Python 设置用户代理

标签 python scrapy web-crawler screen-scraping user-agent

我试图通过向项目 configuration file 添加额外的行来覆盖我的 crawlspider 的用户代理.代码如下:

[settings]
default = myproject.settings
USER_AGENT = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36"


[deploy]
#url = http://localhost:6800/
project = myproject

但是当我在我自己的网络上运行爬虫时,我注意到蜘蛛没有选择我自定义的用户代理,而是默认的“Scrapy/0.18.2 (+ http://scrapy.org)”。 谁能解释我做错了什么。

注意:

(1)。当我试图覆盖 user agent globally 时它起作用了:

scrapy crawl myproject.com -o output.csv -t csv -s USER_AGENT="Mozilla...."

(2)。当我从配置文件中删除“default = myproject.setting”行并运行scrapy crawl myproject.com时,它说“找不到spider..”,所以我觉得在这种情况下不应该删除默认设置。

非常感谢您提前提供的帮助。

最佳答案

将您的 USER_AGENT 行移至 settings.py 文件,而不是 scrapy.cfg 文件。如果您使用 scrapy startproject 命令,settings.py 应该与 items.py 处于同一级别,在您的情况下,它应该类似于 myproject/settings.py

关于python - Scrapy Python 设置用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18920930/

相关文章:

python - 将数据框与从应用函数创建的另一个数据框合并?

java - 如何将 jar 文件表示为网络图?

python - Scrapy安全提取元素的方法

python - 使用 Streamlit 部署 Scrapy 项目

python - 使用 Python 规范化空格

python - 如何在数据框中添加列?

python - 如何在 Linux 上的 Python 中对该表进行排序

python - 如何使用 XPath 提取同一标签下的所有文本?

web-crawler - 创建网络爬虫时,可以使用哪些技术来检测所谓的 "black holes"(蜘蛛陷阱)?

web - 有没有办法以编程方式下载网页的部分内容,而不是整个 HTML 正文?