python爬虫的理解问题

本人编程小白,近日看了一点爬虫教学视频有些不理解,希望向大神求教:
同样的url,chrome浏览器F12后的Elements选项卡下的内容,和python使用requests库,print((requests.get("同样的URL")).text)显示的内容,以及使用selenium库执行如下代码显示的内容:

from selenium import webdriver
browser = webdriver.Chrome()
browser.get("同样的URL")
print(browser.page_source) 

请问:三者分别显示什么内容?如果显示内容不一样,这三者之间是什么关系?是否与chrome浏览器F12后的Network选项卡下的内容有关?

我个人的理解是:
res.text内容是请求时网页的html代码
Elements选项卡下的代码内容其实是会变化的,就是当前浏览器所显示的内容,所以与selenium执行以上代码显示的内容相同
Network选项卡下是各种请求,因为这些请求才使浏览器所显示的内容呈现或变化

我的理解对吗?如有错误,请各位指正或重新回答所提的问题,谢谢!

4个回答

  1. 你的理解是对的
  2. 我把我的理解说一下, 比如说一个网页显示了商品的价格, 而且这个价格信息是网页的js代码请求了价格信息对应的url之后显示出来的
  • 我用requests库去访问一个url的时候, 得到的是最原始html文件. 就是这行js代码而已, 不含有价格信息
  • 我用浏览器访问一个url的时候, 浏览器就会执行这行js代码, 得到价格信息, 浏览器渲染之后的html就是Elements选项卡下的内容. 所以含有价格信息
  • selenium调用的也是浏览器, 所以也含有价格信息

自己测试一下就清楚了,1和3应是一样的,2只是最初的内容,javascript没有执行。当然如果只是简单的html页面,没有javascript加载内容的话,应该都是一样的。

qq_41734591
qq_41734591 谢谢回答。那请问我对1,3理解正确吗?即内容为浏览器显示的内容?还有你说2只是最初的内容,最初的内容具体指什么?网页源代码吗?
2 年多之前 回复

2应该是浏览器带着自己独有的头部信息去请求URL时候有的,可能会跟1-3不太一样。但是指向的应该是同一个地方。

qq_41734591
qq_41734591 谢谢回答。那1,3内容应该一致,也就是浏览器显示的内容吗?同一个地方具体指什么呢?
2 年多之前 回复

建议用puppeteer代替selenium

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐