RT,鄙人在网上直接扒下来无界面浏览器的样例,需要爬一个带 dom 型内容的网页:
#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
chrome_options = webdriver.ChromeOptions()
# 使用 headless 无界面浏览器模式
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# 启动浏览器,获取网页源代码
browser = webdriver.Chrome(chrome_options=chrome_options)
mainUrl = "https://xxx.com"
browser.get(mainUrl)
#print(f"browser text = {browser.page_source}")
print browser.page_source
browser.quit()
按理说应该问题不大,原案例网址是可以爬出东西的。 结果我填入我需要爬的网页,除了一些必要的该网页的 title 和 meta 信息,剩下的就是下面这样:
<noscript>
<div class="js-disabled">
It looks like your JavaScript is disabled. To use XXX, enable JavaScript in your browser and refresh this page.
</div>
</noscript>
敢问各位大佬,这是网站自己做了防爬措施,还是我需要启用其他的 option ? 最关键是,我试着自己通过 chrome_options.add_argument,又加了些 headless chrome 的 option,参考资料如下:
http://www.assertselenium.com/java/list-of-chrome-driver-command-line-arguments/
但结果并没有什么卵用,还是会出现 noscript 的提示,求解惑应该怎样解决这个问题。
另外,样站是客户要去测的,这里不太方便直接发出网址,望各位大佬见谅!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.