标签: user-agent

尝试伪造和轮换用户代理

我正在尝试伪造用户代理并在 Python 中轮换它们。
我在网上找到了一个关于如何使用scrapy-useragents包使用 Scrapy 执行此操作的教程。
我抓取网页https://www.whatsmyua.info/,以检查我的用户代理,看看它是否与我的不同以及它是否旋转。它与我的实际用户代理不同吗,但它不会轮换,它每次都会返回相同的用户代理,而且我无法弄清楚出了什么问题。

设置.py

BOT_NAME = 'scrapy_javascript'

SPIDER_MODULES = ['scrapy_javascript.spiders']
NEWSPIDER_MODULE = 'scrapy_javascript.spiders'


# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'scrapy_javascript (+http://www.yourdomain.com)'

# Obey robots.txt rules
ROBOTSTXT_OBEY = True
DOWNLOADER_MIDDLEWARES = {
        'scrapy_splash.SplashCookiesMiddleware': 723,
        'scrapy_splash.SplashMiddleware': 725,
        'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}

# -----------------------------------------------------------------------------
# USER AGENT
# -----------------------------------------------------------------------------

DOWNLOADER_MIDDLEWARES = {
    'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
    'scrapy_useragents.downloadermiddlewares.useragents.UserAgentsMiddleware': 500,
}


USER_AGENTS = [
    ('Mozilla/5.0 (X11; Linux x86_64) '
     'AppleWebKit/537.36 (KHTML, like …
Run Code Online (Sandbox Code Playgroud)

python user-agent scrapy scrapy-splash splash-js-render

2
推荐指数
1
解决办法
9853
查看次数

UrlFetchApp.fetch() 似乎没有更改用户代理

尝试使用 Google Apps 脚本从网站获取数据,并将其直接放入电子表格中。fetch 似乎不起作用,而 Python requests 的等效项工作得很好。

Python代码:

page = requests.get("someurl?as_data_structure", headers={'user-agent':'testagent'})
Run Code Online (Sandbox Code Playgroud)

气体代码:

var page = UrlFetchApp.fetch("someurl?as_data_structure", headers={'user-agent':'testagent'});
Run Code Online (Sandbox Code Playgroud)

唯一需要的标头是用户代理,如果我没有包含标头,我从 GAS 代码中得到的错误就是我通常从 Python 代码中得到的错误。我是 js 新手,但据我所知这是正确的方法..?

编辑:现在标题位于正确的位置,但问题仍然存在,与以前的错误完全相同。

var options = {"headers": {"User-Agent": "testagent"}};
var page = UrlFetchApp.fetch("someurl?as_data_structure", options);
Run Code Online (Sandbox Code Playgroud)

user-agent http-headers urlfetch http-status-code-403 google-apps-script

2
推荐指数
1
解决办法
3675
查看次数

无法使用 Scrapy 抓取网站?

我还在尝试从这种URL中抓取搜索结果,这是一份中文在线报纸的搜索结果。Scrapy 适用于一些请求,然后我得到以下终端输出。

2019-12-19 11:56:19 [scrapy.spidermiddlewares.httperror] INFO: 忽略响应 <461 http://so.news.cn/getNews?keyword=%E7%BE%8E%E5%9B%BD&curPage= 55&sortField=0&searchFields=0&lang=cn >:HTTP状态码未处理或不允许

如果我添加延迟似乎效果更好,但是速度很慢。这是因为我被该网站屏蔽了 - 我能做些什么吗?我目前没有在 settings.py 中定义任何特殊的用户代理。我尝试过使用scrapy-UserAgent来轮换用户代理,但它似乎不起作用。VPN 有帮助吗?

谢谢

python user-agent scrapy web-scraping

2
推荐指数
1
解决办法
6458
查看次数

Puppeteer 随机用户代理参数

最近,我从 .json 文件中询问了这个随机用户代理,但问题是,在我添加了 puppeteer 的“捕获屏幕”后,它一直显示无头镶边,所以我将上一个主题答案复制到了错误的位置。

现在真正的useragent js页面来自这个页面:

const browser = await puppeteer.launch({
headless: false,
args: ['--headless', '--disable-infobars', '--user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36', '--no-sandbox', `--proxy-server=socks5://127.0.0.1:${port}`] : ['--no-sandbox'],
Run Code Online (Sandbox Code Playgroud)

});

那么如何在参数中创建 rnadom 列表呢?我之前的帮助对我不起作用,因为随机用户代理代码不在正确的位置:Puppeteer browser useragent list

但是在其中添加该代码是行不通的。

那么之后--user-agent=我想添加“ random”功能但是如何呢?

random user-agent puppeteer

2
推荐指数
1
解决办法
7008
查看次数

Watir: - 点击图片按钮?

我使用的是firefox,我修改了它的用户代理,使其行为像iphone web浏览器.现在,当我使用watir打开google.com时,现在我想点击searh按钮,这是移动视图中的图像.怎么做.

user-agent browser-automation watir firewatir

1
推荐指数
1
解决办法
3829
查看次数

HttpBrowserCapabilities缺少一些信息?

我想使用Request.Browser属性(HttpBrowserCapabilities类)来确定客户端系统的一些属性.

但是我似乎遇到了这个类的一些限制.我找不到一些应该相对容易从UserAgent字符串中解析的属性,比如操作系统版本(Platform对于大多数Windows版本只会返回WinNT,但不会返回Vista,XP等),或者它是否为x64(仅限Win16Win32属性).

我原本希望在HttpBrowserCapabilities类中看到这些属性,因为大多数其他用户代理信息都在那里.我错过了什么吗?我可以在其他地方找到这些信息吗?或者我应该自己从UserAgent字符串解析它?

.net c# asp.net user-agent httpbrowsercapabilities

1
推荐指数
1
解决办法
4208
查看次数

Ruby正则表达式:区分iOS Safari和iOS Chrome

根据以下文档:https://developers.google.com/chrome/mobile/docs/user-agent

这是Chrome for iOS UA字符串:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3
Run Code Online (Sandbox Code Playgroud)

这里是iOS UA字符串的Safari:

Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543 Safari/419.3
Run Code Online (Sandbox Code Playgroud)

尽管我可以说明未来的不同之处将是Chrome包含"CriOS".我希望能够区分这两个浏览器,并因此设置使用正则表达式.

使用:

/Gecko\) (?!CriOS)/
Run Code Online (Sandbox Code Playgroud)

我能做到这一点,但我是偏执狂,因为我不在表达式中包含iPhone(也许这也会在Android上触发等)

我想编写以下正则表达式,在以下情况下返回匹配:

  1. 该字符串包含"iPhone"
  2. 该字符串不包含"CriOS"

我该怎么做呢?

仅供参考我一直在使用rubular来测试reg exp,它非常棒http://rubular.com/

ruby regex user-agent ruby-on-rails

1
推荐指数
1
解决办法
1218
查看次数

如何在Mojo :: UserAgent中设置自定义的useragent字符串

我们有一堆围绕Mojo :: UserAgent构建的代码,并且迁移到MojoX :: UserAgent不是一个选择.我想知道是否有办法在Mojo :: UserAgent中获取/设置用户代理字符串?

perl user-agent mojo mojolicious

1
推荐指数
1
解决办法
1339
查看次数

HtmlWeb用户代理

我正在使用HtmlAgilityPack从网页中获取表格.

HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://test.com");
Run Code Online (Sandbox Code Playgroud)

我知道HtmlWeb有一个UserAgent属性,但是我不知道我应该如何将用户代理附加到httprequest的头部.

HtmlWeb web = new HtmlWeb().UserAgent("asdf");
Run Code Online (Sandbox Code Playgroud)

返回错误

Error   1   Non-invocable member 'HtmlAgilityPack.HtmlWeb.UserAgent' cannot be used like a method.
Run Code Online (Sandbox Code Playgroud)

http://htmlagilitypack.codeplex.com/discussions HtmlAgilityPack支持讨论只是问题,但没有人在另一端做出回应.

http://htmlagilitypack.codeplex.com/documentation这里还没有文档.

http://htmlagilitypack.codeplex.com/downloads/get/437942尝试下载文档,发现chm文件似乎已损坏...当我尝试打开任何内容时,我正在获取导航到网页时出错chm文档.

c# user-agent html-agility-pack visual-studio-2012

1
推荐指数
1
解决办法
4196
查看次数

设备检测不基于UA

我希望仅限制我的webapp用于手持设备,并完全禁用桌面.

有大量的库可用于设备检测,但所有的嗅探用户代理都很容易被伪造.是否有任何超出UA的库并使用其他检查来确保设备确实是掌上电脑?

javascript user-agent device

1
推荐指数
1
解决办法
159
查看次数