可以直接在settings.py文件中对User-Agent中进行修改么?
1、修改
USER_AGENT = UserAgent().random # Obey robots.txt rules ROBOTSTXT_OBEY = False
2、结果
"User-Agent": "Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36" "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36" "User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; Media Center PC 6.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C)" "User-Agent": "Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36" "User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" "User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14"
应该可以这么做吧?结果都不一样,而且还不用去改中间层了。
这样的算可以嘛,而且我还想问如果属性不止一个应该怎么写
老师,帮我看下是什么原因呢?是被反爬了吗?
代码:
from urllib.request import Request,urlopen from fake_useragent import UserAgent from urllib.parse import quote args = input('请输入品牌:') url = 'https://sh.58.com/ershouche/?key={quote(args)}' headers = {'User-Agent':UserAgent().chrome} req = Request(url,headers = headers) resp = urlopen(req) print(resp.read().decode())
问题:
老师我用xshell安装了docker,在powershell上用不了docker.
老师,这里这个__index__与初始化方法__init__有什么不同呢。我网上找了资料发现关于这个的很少。所以请教您一下
这个登录窗怎么解决,试了一下前面的弹窗没成功不行,手动关闭了后面能正常运行,想问一下在代码里怎么解决,是前面的多层框架吗?
这个报错是哪个方面的问题,一用这个包就会报错,不用导包就正常
老师,反检测只能适用第一个选项卡的页面吗?我的程序是从虎牙直播的主页开始的,点击英雄联盟分类后,跳转到直播页面(在一个新的选项卡中打开的),然后,在这里检测到window.navigator.webdriver为true。这样里面的数据就爬取不到了。所以怎么解决这个问题呢?
from selenium import webdriver from selenium.webdriver import ChromeOptions from selenium.webdriver.common import action_chains from selenium.webdriver.common.action_chains import ActionChains import time url = 'https://www.huya.com/' option = webdriver.ChromeOptions() option.add_experimental_option("excludeSwitches", ['enable-automation','enable-logging']) option.add_experimental_option('useAutomationExtension', False) driver = webdriver.Chrome(options=option) driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": """ Object.defineProperty(navigator, 'webdriver', { get: () => false }) """ }) driver.get(url) time.sleep(1) # 点击分类中的英雄联盟 # driver.find_element_by_id('hy-nav-category').click() fenlei = driver.find_element_by_id('hy-nav-category') # 分类tag shubiao = ActionChains(driver) shubiao.move_to_element(fenlei).perform() # 鼠标移动到分类上 time.sleep(2) lol = driver.find_element_by_xpath("//div[@class='nav-expand-list nav-expand-game']/dl[1]/dd[1]") # 英雄联盟tag shubiao.click(lol).perform() time.sleep(2) # 等待页面渲染 zhubo = driver.find_elements_by_xpath("//ul[@id='js-live-list']/li/span/span[@class='avatar fl']/i") print(zhubo) print(len(zhubo)) print(type(zhubo)) for i in zhubo: print(i) print(type(i)) print(i.text())
老师,我的tesseract环境配好了,cmd里面也能运行,但是pycharm终端里面还是报错
老师,我有2个问题,麻烦帮忙解答,谢谢!
如何实现爬虫过程中将数据从redis中保存到mongo中,或者自动实现爬取结束后数据从redis中转移到mongo中,而不是再手动运行一个.py文件从redis中导出数据到mongo中
如何将数据从redis或mongo中导出到本地文件。
老师,如图这种弹窗的登录方式,好像没有找到对应请求的地址啊?
老师,为什么我这个里有两个User-Agent,这个是不是意味着不在提供伪装。
from urllib.request import urlopen,Request from fake_useragent import UserAgent url = " ua = UserAgent(verify_ssl=False) headers = { "User_Agent":ua.random } reuquest = Request(url,headers=headers) resp = urlopen(reuquest) info = resp.read().decode() print(info)
能不能说一下在pycharm环境下运行crawlspider需要修改什么设置?
就比如在pycharm环境下使用callback需要将scrapy.Request中的设置
dont_filter: bool = False改为True
否则callback不执行一样。
案例分析是静态的,那动态的页面实战有何不一样
出现了这样的错误 明明已经安装了scrapy-redis
但是运行的时候报错说是没有这个模块
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637