要爬取一下这个网站里的graph data数据,网址在代码里,但是不知道为什么爬到的网页源代码跟浏览器element里的不一样,以下为源代码,麻烦帮忙看一下
from selenium.webdriver import Edge
from selenium.webdriver.support.select import Select
from selenium.webdriver.edge.options import Options #不显示页面
from lxml import etree
from lxml import html
#不显示浏览器使用的过程
opt = Options()
opt.add_argument('--headless')
opt.add_argument('--disable-gpu')
#-------------------------------------
web = Edge(options=opt)#把参数设置到浏览器
url="https://csacademy.com/app/graph_editor/"
web.get(url)
source = web.page_source#得到页面element的html代码
print(source)
selector=etree.HTML(source)
看看一个是不是动态ajax加载的,一个是不是没有指定referer和user-agent,抓包看看
参考GPT和自己的思路:
根据你提供的代码,首先可以看到你使用了Selenium和Edge浏览器来获取网页源代码,并设置了不显示浏览器的过程。
如果你发现爬到的网页源代码与浏览器元素不一致,可能有以下几个原因:
你可以尝试在代码中添加更多的请求头信息(模拟浏览器)或者等待页面资源加载完全后再获取网页源代码,或者考虑使用其他浏览器或版本来获取网页源代码。同时你也可以尝试使用其他的工具或库,如requests、scrapy等来获取网页源代码。
不知道你这个问题是否已经解决, 如果还没有解决的话: