python网页数据抓取( python脚本:python版本:python3.4与此类似类似的语言)

优采云 发布时间: 2021-09-28 11:24

  python网页数据抓取(

python脚本:python版本:python3.4与此类似类似的语言)

  <p>使用python获取网页需要使用到urllib模块,我们先导入:

from urllib.request import Request,urlopen</p>

  接下来,使用request生成一个请求头。这是百度的主页:

  req = Request(&#39;https://www.baidu.com/&#39;)

req.add_header(&#39;User-Agent&#39;, &#39;Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25&#39;)

  也可以这样写:

  req = Request(&#39;https://www.baidu.com/&#39;, headers={&#39;User-Agent&#39;:&#39;Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25&#39;})

  哪一个更好取决于你的个人喜好

  请求头的信息可以通过浏览器的开发者工具获得:

  

  添加请求头的意义在于防止服务器过滤。有些服务器会屏蔽没有请求头的请求

  现在我们可以使用urlopen打开网页,但是urlopen的返回值是一个类:我们需要read函数来获取网页的源代码

  file = urlopen(req).read()

  网页的HTML代码存储在文件中。我们可以打印网页或将其保存在文件中

  with open(&#39;out.html&#39;, &#39;wb&#39;) as f:

f.write(file)

  打开我们的网页文件,这是百度的主页:

  

  值得一提的是,我们抓取的网页实际上只是百度主页上的HTML文件。但是,当它在浏览器中打开时,浏览器将自动从网络下载相关图片、JS、CSS文件等,以完成我们的网页

  通常,使用Python捕获网页是非常简单、复杂和重复的工作。Python是通过模块完成的。Python本身是一种基于介绍的语言

  以下是我的Python脚本:

  from urllib.request import Request, urlopen

req = Request(&#39;https://www.baidu.com/&#39;)

req.add_header(&#39;User-Agent&#39;,

&#39;Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25&#39;)

file = urlopen(req).read()

with open(&#39;out.html&#39;, &#39;wb&#39;) as f:

f.write(file)

  Python版本:Python3.4

  2.7与此类似

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线