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

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

建议用puppeteer代替selenium

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python爬虫 | Python爬虫入门
https://zhuanlan.zhihu.com/p/21377121?refer=xmucpp
【python爬虫】python爬虫demo
我在入门python爬虫的时候,在网上找demo,找了好久都找不到,好不容易找到了一个,但是又跑不起来。 我把一个简易的demo贴出来。 使用 BeautifulSoup 库 抓取 酷狗音乐TOP500 第1页到第9页的音乐歌名、歌手、时长、链接 1、需要先安装 requests 库和BeautifulSoup 库 ,自行百度 2、Demo import ...
Python协程理解——基于爬虫举例
当前代码在工作当中没有太大的含义,但是对于大家理解协程的基础概念是相当有好处的 协程最直接的可以理解为程序当中一个没有返回的功能块儿 我们之前有学过多线程,所谓的多线程不论是异步并发,还是并发强调的时候将功能放到不同的线程上分别运行的过程 但是协程不是这样的,协程强调的是在同一个线程上进行运行,这样免去了线程生产、消费、抛弃的损耗 站在生产消费者模式来看 多线程主张的是: 生产者生产 生产的内容放...
关于python爬虫lxml库的简单理解
lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高 XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索
(一)python爬虫的简单理解和相关库
作为自己的学习梳理,后期或许会讲一些案例什么的. 以前不喜欢写什么博客什么的,想的自己会的东西别人大概都是会的,反正这东西网上一搜一大堆! 现在想想,其实自己会些什么东西自己还是只有一些笼统的概念,会做什么的.都没有一个清晰的认识,所以今天就想着梳理一下自己到底会一些什么样的东西! 爬虫的基本原理 1什么是爬虫: 简单 一句话就是: (1)"请求" 网站,并且 (2) "提取
python爬虫问题求教
作为初学者,本来想按照教程写一个工作需要的爬虫,想要爬取[穷游结伴论坛](http://bbs.qyer.com/forum-2-1.html "")每个帖子的大致信息,但是最后运行时,却发现没反应,也没报错,真是一头雾水,所以想请教一下大家。rnrnimport requestsrnfrom bs4 import BeautifulSouprnimport tracebackrnimport rernrndef getHTMLText(url):rn try:rn r = requests.get(url, timeout=30)rn r.raise_for_status()rn r.encoding = r.apparent_encodingrn return r.textrn except:rn return ""rnrndef getQyerList(lst, qyerURL):rn html = getHTMLText(qyerURL)rn soup = BeautifulSoup(html, 'html.parser')rn for a in soup.find_all('a'):rn try:rn lst.append(a['href'])rn except:rn continuernrndef getQyerInfo(lst, qyerURL, fpath):rn count = 0rn for qyer in lst:rn html = getHTMLText(qyer)rn try:rn if html == "":rn continuern infoDict = rn soup = BeautifulSoup(html, 'html.parser')rnrn title_tag = soup.find('div', attrs='class': 'signs')rn titleInfo = title_tag.find('a')rnrn des_tag = soup.find('div', attrs='class': 'xdest')rn desInfo = des_tag.find('a')rnrn timeInfo = soup.find('em', attrs='class': 'xmr13') + '-' + soup.find('em', attrs='class': 'etd')rnrn contactInfo = soup.find('div', attrs='class': 'xpan-contact')rnrn contentInfo = soup.find('li', attrs='class': 'xlast xmt20')rnrn # keyList = ['标题', '目的地', '出行日期', '联系方式', '结伴详情']rn # valueList = []rnrn infoDict.update('标题': titleInfo, '目的地': desInfo, '出行日期': timeInfo, '联系方式': contactInfo, '结伴详情': contentInfo)rnrn with open(fpath, 'a', encoding='utf-8') as f:rn f.write(str(infoDict) + '\n')rn count = count + 1rn print('\r当前速度::2f%'.format(count*100/len(lst)), end='')rn except:rn count = count + 1rn print('\r当前速度::2f%'.format(count * 100 / len(lst)), end='')rn continuernrndef main():rn qyer_list_url = 'http://bbs.qyer.com/forum-2-1.html'rn qyer_info_url = 'http://bbs.qyer.com/forum-2-1.html'rn output_file = 'E://qunar.text'rn slist = []rn getQyerList(slist, qyer_info_url)rn getQyerInfo(slist, qyer_info_url, output_file)rnrnmain()
小白问题 python 爬虫
请问 python 引用requests库请求网页的时候 会用到raise_for_status()这个代码,这个代码是什么意思?我在晚上查到说是什么异常处理,那异常处理又是什么意思?
Python的爬虫的问题?
最近自己从很多途径了解到Python爬虫这个概念。n但是自己还没有来得及查阅资料去深入的了解。n所以我就想问一下:n 1.Python爬虫具体应用来做什么?n 2.Python爬虫具体应该怎么使用?n 3.Python的原理是什么?
Python爬虫问题求助
** Python爬虫问题求助 ** import bs4 from urllib import request from bs4 import BeautifulSoup def getHTMLText(url): ‘’‘获取页面’’’ try: resp = request.urlopen(url) html_data = resp.read().decode(‘utf-8’) retu...
python爬虫输出格式问题
最近学了python的爬虫爬取中国大学排名,然后输出格式对不齐真是为难我这个强迫症患者了。所以经过我的一番努力(随便瞎搞),终于! 话不多说,上代码!代码内容有注解。那个chr(12288)指的是按照中文空格缩进。然后tqlt中的{4}是指按照foemat的第5个参数缩进(不知道是不是这样,但我是这么理解的)。如果不做处理,默认按照英文缩进,但我们大中国字和英语占位不一样嘛。 # 打印中国大...
Python爬虫问题1
2018-05-17 11:48今天运行了之前自学的爬虫程序,出现下面错误:ConnectionError: HTTPConnectionPool(host='book.douban.com', port=80): Max retries exceeded with url: /latest (Caused by NewConnectionError('<urllib3.connection...
python爬虫两个问题
1.beautifulsoup 的函数是find_all而不是是findall2.当考虑通过页面内容得到标签时,应该使用编译后的字符,如下图 p=re.compile('所属分类') for elem in soup (text=p): title=elem.parent.parent当采用下图时不通过,显示File "C:/Users/huang/Desktop/book.py", l...
python,scrapy爬虫问题
先贴上我用scrapy写的爬虫运行日志:rnrn2016-09-01 14:39:48 [scrapy] INFO: Crawled 71 pages (at 71 pages/min), scraped 6969 items (at 6969 items/min)rn2016-09-01 14:40:48 [scrapy] INFO: Crawled 155 pages (at 84 pages/min), scraped 15150 items (at 8181 items/min)rn2016-09-01 14:41:48 [scrapy] INFO: Crawled 238 pages (at 83 pages/min), scraped 15251 items (at 101 items/min)rn2016-09-01 14:42:48 [scrapy] INFO: Crawled 317 pages (at 79 pages/min), scraped 15263 items (at 12 items/min)rn2016-09-01 14:43:48 [scrapy] INFO: Crawled 398 pages (at 81 pages/min), scraped 15344 items (at 81 items/min)rn2016-09-01 14:44:48 [scrapy] INFO: Crawled 483 pages (at 85 pages/min), scraped 15428 items (at 84 items/min)rn2016-09-01 14:45:48 [scrapy] INFO: Crawled 570 pages (at 87 pages/min), scraped 15430 items (at 2 items/min)rn2016-09-01 14:46:48 [scrapy] INFO: Crawled 652 pages (at 82 pages/min), scraped 15449 items (at 19 items/min)rn2016-09-01 14:47:48 [scrapy] INFO: Crawled 732 pages (at 80 pages/min), scraped 15527 items (at 78 items/min)rnrn问题是:从日志可以看出,前两分钟效率很高,但是从第三分钟开始性能突然下降,跟着的cpu占用也突然下降。也试过修改一些配置参数,检查了自己写的代码;但是都未发现、解决问题,求大神帮助分析一下这是什么原因。rnrntips:楼主刚刚接触爬虫,并且打算在这个道路上继续走一下,希望广交对爬虫同样感兴趣的朋友,共同学习交流经验。
python爬虫的重定向问题
重定向问题 在使用python爬虫的过程中难免会遇到很多301,302的问题。他们出现时,很大程度的影响到我们的爬虫速度和信息的准确性。下面针对不同的模块给出不同的解决方案。 使用requests模块爬虫 使用requests模块遇到301和302问题时, 如果是用requests,那就在参数里面关闭重定向。 >>> r = requests.get('http...
Python爬虫解析Json问题
小白一枚,最近在学习Python的网络爬虫技术,编制了简易的一个抓取国家地震台网的数据的爬虫,使用拼接URL地址的方式请求数据,但是在运行的时候一直会报错,测试后发现Urlencode方面没有问题,能够正常地输出每一页数据的拼接URL地址,然而在提取数据的过程中,在抓取完每页20个数据后就会开始报错,并不能实现使用for循环来遍历每一页数据,请问这种情况如何解决?rnrn错误信息:rnSaved to Mongo(这里是每页最后一个数据抓取成功后保存到数据库的提示)rnError ("'dict' object has no attribute 'loads'",)rnError ("'NoneType' object has no attribute 'loads'",)rn……rnrn全部代码:rnrn# --coding:utf-8 --rnimport requestsrnimport jsonrnfrom urllib.parse import urlencodernfrom pymongo import MongoClientrnimport timernrnbase_url = 'http://www.ceic.ac.cn/ajax/search?'rnheaders = rn 'Host': 'www.ceic.ac.cn',rn 'Referer': 'http://www.ceic.ac.cn/history',rn 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',rn 'X-Requested-With': 'XMLHttpRequest',rnrnclient = MongoClient()rndb = client['EarthQuake']rncollection = db['EarthQuake']rnmax_page = 300rnrndef get_page(page):rn params = rn "start": "",rn "end": "",rn "jingdu1": "",rn "jingdu2": "",rn "weidu1": "",rn "weidu2": "",rn "height1": "",rn "height2": "",rn "zhenji1": "",rn "zhenji2": "",rn "page": page,rn rn url = base_url + urlencode(params)rn try:rn response = requests.get(url, headers=headers)rn if response.status_code == 200:rn length = len(response.text)-1rn text1 = response.textrn text = text1[1:length]rn return json.loads(text)rn except Exception as e:rn print('Error', e.args)rnrndef parse_page(json):rn if json:rn items = json.get('shuju')rn for item in items:rn #item = item.get('shuju')rn eq = rn eq['DEPTH'] = item.get('EPI_DEPTH')rn eq['LAT'] = item.get('EPI_LAT')rn eq['LON'] = item.get('EPI_LON')rn eq['LOCATION'] = item.get('LOCATION_C')rn eq['TIME'] = item.get('O_TIME')rn eq['LEVEL'] = item.get('M')rn yield eqrnrndef save_to_mongo(result):rn if collection.insert(result):rn print('Saved to Mongo')rnrndef savedata(results):rn for result in results:rn print(result)rn save_to_mongo(result)rnrnif __name__ == '__main__':rn for page in range(1, max_page + 1):rn json = get_page(page)rn results = parse_page(json)rn time.sleep(5)rn savedata(results)rnrn请问这种情况应该如何处理?
python爬虫重新连接的问题
求助大佬,我利用爬虫爬取网上的数据,但是当网络断开重新连接的时候爬虫的请求就会一直失败,无法重新爬去数据,只能重新启动程序,这样太麻烦了。rn def getcatalog(self,url,data,header,ip):rn n = 0rn while True:rn try:rn HTML = requests.post(url,data,header,proxies = ip)rn n = 0rn return HTML.textrn except Exception:rn HTML.close()rn ip = choice(global_var.ip_list).split(':', 1) #更换iprn global_var.IP = 'http': ip[1]rn n += 1rn if n >= 5:rn print('请求失败,1分钟后重新连接')rn n = 0rn time.sleep(60)rn else:rn print('请求异常,以更换代理IP,5秒后重新发起请求')rn time.sleep(5)rnrn我断开网络后重新连接就无法重新爬去数据,只能重新启动程序rn
Python爬虫返回问题
使用Python爬取https://service.danmu.youku.com/list?jsoncallback=jQuery111206552750486148482_1563953616234&mat=0&mcount=1&ct=1001&iid=384633590&aid=305652&cid=85&lid=0&ouid=0&_=1563953616252rn之后获取到的返回值是rnjQuery111206552750486148482_1563953616234("count":360,"filtered":1,"result":[.......],"scm":"0");rn这个外部是一个方法,方法的参数是一个json串,我需要的就是这个参数rnrn[color=#FF0000]像这样的返回值,我需要怎么处理才能获得到我需要的json数据,除了字符串操作?[/color][size=18px][/size]rnrnrnrn[size=24px][color=#FF0000]我目前使用的是字符串替代,把前半截和后半截替换掉。想请问一下有没有更加优雅,更加好的方法?[/color][/size]rnrnrnrnrn
python爬虫问题
用python写了一个简单的爬虫,遇到了问题,代码如下:rnimport urllib.requestrnrnimport rernrndef getHtml(url):rn page = urllib.request.urlopen(url)rn html = page.read()rn return htmlrnrndef getImg(html):rn reg = r'src="(.+?\.jpg)"'rn imgre = re.compile(reg)rn imglist = re.findall(imgre,html)rn return imglistrnrnhtml = getHtml('http://www.rosmm.com/rosimm/2017/09/07/2354.htm')rnprint(getImg(html))rn在findall方法那一行报错TypeError: cannot use a string pattern on a bytes-like objectrn在网上找了解决方案,说是需要把html进行utf-8的转换,如下:rnimport urllib.requestrnrnimport rernrndef getHtml(url):rn page = urllib.request.urlopen(url)rn html = page.read()rn return htmlrnrndef getImg(html):rn reg = r'src="(.+?\.jpg)"'rn imgre = re.compile(reg)rn imglist = re.findall(imgre,html.decode('utf-8'))rn return imglistrnrnhtml = getHtml('http://www.rosmm.com/rosimm/2017/09/07/2354.htm')rnprint(getImg(html))rn运行了又报了另外一个错误UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 257: invalid continuation byte,不知道到底问题出在哪里了
python爬虫问题记录
@python爬虫问题记录 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面...
python爬虫问题详解
1.使用requests库模拟浏览器发送请求,接收响应功能 2 # 在dos命令行执行: #     pip show requests # 查看requests是否安装,以及相关信息 #     # 没有安装的使用下面的语句进行安装 #     pip install requests 总体分为三步 # 1 获取源数据 requests # 2 解析源数据 bs4 # 3 保存数据  ...
Python 爬虫问题记录
记录下 学习爬虫遇到的坑 !!!!! 因为刚升级了系统 MacOS 10.13.1 之前预装的python 环境都被重置了, 还需要重新重装一下, 谁知前面居然有那么多坑! 第一坑:   python 过低       MacOS 自己的默认是 python 2.7 因此首先需要升级 python 版本  请依照此链接方法:点击打开链接  升级 第二坑: 欠缺命令      当装好 新版
关于Python爬虫的问题
1、为什么Python爬虫时,通过程序爬取某个网页时,每次重新run一次程序时,查看cookie的值都会发生变化,cookie不是会保存一段时间么?rn2、为什么Python爬虫通过程序获取的cookie不与网页中通过检查元素的cookie相同?rn
Python 爬虫相关问题
Python, selenium
python爬虫遇到的问题
最重要的是错误查看 查看端口状态命令:netstat -apn 用于查看mysql的端口是否开启的是3306 发现mysql的连接状态如图 可以看到本地端口是127.0.0.1:3306 需要修改mysql的bind-address:找到/etc/mysql/mysql.conf.d/mysqld.cnf这个文件中,有一行是 需要改为0.0.0.0 即接收任何ip的连接 并且...
python爬虫之图片爬虫
爬取图片http://www.ivsky.com的网站 把图片素材下的18个类别,每个类别的前20页,每页的18个合集,每个合集中大约有10多张图片,下载到本地,大约有6万多张图片,一百多行代码完成。 import os import re from urllib import request from bs4 import BeautifulSoup def get_data(url): ...
Python爬虫---一个爬虫
import urllib import urllib.request import time con=urllib.request.urlopen('http://blog.sina.com.cn/s/articlelist_1191258123_0_1.html').read() url=['']*50 mycon=con.decode('utf-8') #print('mycon',myc...
Python爬虫之第一个爬虫
爬虫的任务就是两件事:请求网页和解析提取信息 爬虫三大库 Requests Lxml BeautifulSoup Requests库:请求网站获取网页数据 import requests #from bs4 import BeautifulSoup headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWeb...
Python爬虫之<单线程爬虫>
一.直接获取源代码>>> import requests >>> url='http://www.wutnews.net/' >>> html=requests.get(url) >>> print html.content <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht
PYTHON爬虫(爬虫的基本原理)
一 爬虫的概念   二 爬虫的步骤 1 发起请求 请求方法:get/post 请求url:统一资源定位符 请求头:请求配置 请求体:post 2 获取响应 常见的状态码:200/301(重定向)/404(找不到资源)/502(服务器内部出错) 响应头 响应体 3 解析内容 直接处理 json解析 正则 美丽汤 pyquery xpath js渲染的解决方法:分析a...
Python爬虫:爬虫基本原理
爬虫: 请求网站 并 提取数据 的 自动化程序 爬虫基本流程: 发起请求 -&amp;gt; 获取响应 -&amp;gt; 解析内容 -&amp;gt; 保存数据 Request 请求方式 Request Method:get post 请求url Request URL 请求头 Request Headers 请求体 Form Data Response 响应状态 Status code 200o...
爬虫-小说爬虫-python
运行命令:python yuedu.py 然后按照提示走~ eg.:欢迎使用小说下载器!请输入小说名称:雪鹰领主 已找到小说:雪鹰领主,输入yes或者回车选定小说,输入no重新选择小说:yes 开始分析章节数...总章节数:1185,请输入开始章节和结束章节如:18~30(默认1~1185):1183 /Download/雪鹰领主/第35篇 第36章 虚界幻境第一人.txt /Download/雪鹰领主/第35篇 第37章 钧帝肆虐.txt /Download/雪鹰领主/正文 第35篇 第38章 恐怖的剑主.txt 输入quit退出:quit bey
python爬虫-->爬虫基础
在做机器学习,数据挖掘时,常常需要训练针对某个特定应用场景的模型,但是有时候又缺少我们想要的数据集,这个时候我们就要自己上某些特定的网站进行网络爬虫来获取大量数据。这也是我们学习python爬虫的一个动机和目标。 难点一:urllib2.urlopen与urllib2.request区别import urllib2 response=urllib2.urlopen('http://www.exam
【Python 微博爬虫】Python 实现微博爬虫
前言—功能:这个可以用来爬取微博信息,自定义时间间隔,来爬取用户的微博动态,最后调用短信接口,来提醒用户被监控用户发微博了(因为微博里面有特别关注这个功能,所以这个实战,也仅仅只是兴趣了) 一、简介: 这个微博爬虫是基于一个比较古老的微博版本的,那个时候的微博还可以直接爬网页来获取用户的微博内容,网址是:https://weibo.cn 二、准备阶段: 首先进行爬取的时候是需要带入 cook...
Python爬虫
Python 批量下载图片要批量下载图片,首先的有个图片的地址,要批量下载,那么就得解析网页,自动获取图片的地址,一页的图片总是不够的,所以需要翻页。下载图片下载图片就要用到网络库,用的是 request 创建requests,注意开启stream 因为图片都比较大,用流的方式保存图片 r = requests.get(url, stream=True) filename = os.path.joi
python爬虫
再不写点东西就真不会写代码了 最近一直在学习云计算的东西,慢慢的也准备整理一下。 今天试试手,写一个简单的爬虫,之前就写了,但一直没有实现。很简单,正好熟悉一下python# coding=utf-8 import sys import os import urllib import urllib2 import threadingbase_uri = "http://www.csdn.net/
python 爬虫
python 爬虫,用来开发爬虫的文档 不过不是很完整 只有一些便签 python 爬虫,用来开发爬虫的文档 不过不是很完整 只有一些便签 以及其他的适度 python 爬虫,用来开发爬虫的文档 不过不是很完整 只有一些便签 以及其他的适度 python 爬虫,用来开发爬虫的文档 不过不是很完整 只有一些便签 以及其他的适度 以及其他的适度
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池