python-为何用Python做爬虫时抓取下来的页面跟源代码不一样?

问题描述

为何用Python做爬虫时抓取下来的页面跟源代码不一样?

代码如下:

-*- coding:utf-8 -*-

import urllib
import urllib2
import re
baseURL = 'http://zhidao.baidu.com/question/491268910.html'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
#request = urllib2.Request(baseURL)
request = urllib2.Request(url=baseURL,headers=headers)
response = urllib2.urlopen(request)
print response.read().decode("GBK")

我用上面的代码爬取一个百度知道的答案,把抓取到的信息打印出来为什么有的地方跟网页审查元素所显示的代码不一样?
网页原来的段落为:
这段话对应的源代码为:
抓取网页信息后的对应的代码为:
我尝试了一个,在提取页面时,加载一个headers头部,但是结果还是不行,求各路大神指点,直接把解决办法附在评论区里,谢谢各路大神了。。。

解决方案

我想要把网页采纳的答案给抓取出来,但是抓取到的信息里,为什么好多文字都被等代替了,怎么能让他直接显示原来的源代码啊

解决方案二:

他很可能用了JavaScript动态加载页面。你获取的页面只是原来的html而已。

解决方案三:

要爬取js等动态生成的数据,可以使用神箭手云爬虫开发框架(shenjianshou.cn),只需要设置一下enableJS:true就可以自动爬取了,很方便!

时间: 2024-08-30 15:40:54

python-为何用Python做爬虫时抓取下来的页面跟源代码不一样?的相关文章

python做爬虫时,如何获取下一页的html?

问题描述 python做爬虫时,如何获取下一页的html? 具体网址http://data.10jqka.com.cn/market/yybhyd/![图片说明](http://img.ask.csdn.net/upload/201603/09/1457522333_494323.png) 解决方案 分析网页数据,提取链接先做了再说. 解决方案二: 遍历页面内容中的tag a等内容 然后循环爬出下一层 解决方案三: 一般都通过一个当前页面整数作为请求参数,每次访问的时候递增这个参数就行了 解决方

java-利用crawler4j做网络爬虫如何抓取特定标题和发表时间

问题描述 利用crawler4j做网络爬虫如何抓取特定标题和发表时间 利用crawler4j做网络爬虫如何抓取特定标题和发表时间,地区等,还有什么值得推荐的爬虫工具(java)方向 解决方案 利用crawler4j做网络爬虫,你能抓取到数据的话,然后分析数据就行.特定的标题和发表时间,应该有特定的标识的,检查此标识然后取得想要的数据. 解决方案二: 如果服务器支持rss,那么可以直接从中过滤,不支持rss,就只能先抓取标题和时间字段,然后再下载文章.这个不同的网站是不同的. 虽然理论上可以通过L

javascript-python爬虫如何抓取包含JavaScript的网页中的信息

问题描述 python爬虫如何抓取包含JavaScript的网页中的信息 这里本科生一枚..做本研要求抓取一些数据碰到了一些问题求指教> <我想要抓取汽车之家上关于供应商的一些数据,然后在车型详情页里找到了关于供应商的框架源代码如下(只截取有用部分):<br> //属性<br> document.domain = "autohome.com.cn";<br> var page=1;<br> var parameters = {

搜索引擎爬虫优先抓取哪些网页

网站的整体流量主要取决于网站页面的整体收录.网站页面的整体排名以及网站页面的整体点击率,这三个因素也是有先后顺序的,排名排一位的就是整体收录了,那么整体收录又是由哪些决定的呢?首先要想被收录,肯定页面要被搜索引擎抓取吧,没有抓取,也就不可能有收录.所以我们在优化收录的时候,一定要想办法让搜索引擎的爬虫程序去尽量抓取更多的页面,那么对于搜索引擎来说,它的源也是有限的,而且由于各种限制,它也只能抓取互联网上所有网页的一部分,而在抓取的这些页面中,它索引的也只是一部分,搜索引擎的蜘蛛程序会优先抓取哪些

Google爬虫如何抓取JavaScript的?

我们测试了谷歌爬虫是如何抓取 JavaScript,下面就是我们从中学习到的知识. 认为 Google 不能处理 JavaScript ?再想想吧.Audette Audette 分享了一系列测试结果,他和他同事测试了什么类型的 JavaScript 功能会被 Google 抓取和收录. 长话短说 1. 我们进行了一系列测试,已证实 Google 能以多种方式执行和收录 JavaScript.我们也确认 Google 能渲染整个页面并读取 DOM,由此能收录动态生成的内容. 2. DOM 中的

CloudCC:如何用CRM更快更多抓取客源?

本文讲的是 :CloudCC:如何用CRM更快更多抓取客源?   , [IT168 资讯]云计算时代,信息化飞速发展,企业要想提高营销的投入产出比,唯有借助CRM将企业前端营销与销售.合同和回款等有机整合,实施销售全流程管理,才能在市场竞争中抓取更多客源,赢得更多订单,赚取更多利润. 据麦达数字联合移动信息化研究中心调研显示,汽车行业的SaaS营销管理NPS值为6%,金融行业的SaaS营销管理NPS值为2%,消费品行业的SaaS营销管理NPS值为17%,大健康行业的SaaS营销管理NPS值为17

php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法_php实例

 php的curl可以用来实现抓取网页,分析网页数据用, 简洁易用, 这里介绍其函数等就不详细描述, 放上代码看看: 只保留了其中几个主要的函数. 实现模拟登陆, 其中可能涉及到session捕获, 然后前后页面涉及参数提供形式. libcurl主要功能就是用不同的协议连接和沟通不同的服务器~也就是相当封装了的sock PHP 支持libcurl(允许你用不同的协议连接和沟通不同的服务器)., libcurl当前支持http, https, ftp, gopher, telnet, dict,

php+curl+302+淘宝-用curl抓取淘宝页面信息,本地可以,服务器却不行

问题描述 用curl抓取淘宝页面信息,本地可以,服务器却不行 看下面的代码,在本地appach服务器可以正常打印出页面内容,但是到服务器上却提示15s 的timeout错误: $htmlstr = get_html("http://detail.tmall.com/item.htm?id=41159437194"); echo $htmlstr; function get_html( $url ) { $ch = curl_init(); curl_setopt($ch, CURLOP

如何抓取百度知道页面里面问题答案的 ‘评论’ 信息。。

问题描述 如何抓取百度知道页面里边问题答案的'评论'信息.现在我用jsoup能抓到整个页面,但是评论内容是要通过点击'评论'才能加载下面内容.所以现在无法获取评论信息.我用phantomjs模拟浏览器来点击评论,但貌似无法成功.然后现在怀疑这种方法是否可行.求大神指导或者推荐其他方法.... 解决方案 解决方案二:模拟浏览器的点击可以不解决方案三:没用过phantomjs."但是评论内容是要通过点击'评论'才能加载下面内容.所以现在无法获取评论信息"看了一下这个功能是通过ajax来加载