Python网络爬虫之网页抓取(一)

  网络爬虫,我们可以把它理解为在网络上面爬行的一只蜘蛛,互联网就比如一张大网,而爬虫就像一只蜘蛛在这上面爬来爬去, 遇到资源它就可以把它抓取下来。

  在浏览器中输入一个网址,即打开一个网页后,我们可以看到这个页面上有好多文字、图片等,这个过程其实就是用户输入一个网址后,向服务器发出了一个请求,服务器经过解析后,发送给浏览器HTML、JS、CSS等文件,浏览器解析后,就出现了许许多多的文字、图片等。因此,我们看到的网页实质是由HTML代码构成的,只不过经过浏览器的解释后,将这些代码隐藏起来了;爬虫要爬的就是这些内容,通过分析和过滤这些HTML代码,实现对文字、图片等资源的获取。

  爬虫爬取数据时必须要有一个明确的URL才可以获取数据,URL即统一资源定位符,就是我们常说的网址。爬虫爬取网页,其实就是根据URL来获取它的网页信息。对于静态网页,下面有两种简单的方法可以实现网页信息的抓取。

1. 调用urillib2库里面的urlopen方法,传入一个URL(即网址),执行urlopen方法后,返回一个response对象,返回信息便被保存在这里面,通过response对象的read方法,返回获取到的网页内容,代码如下:

1 import urllib2
2
3 response = urllib2.urlopen("http://www.cnblogs.com/mix88/")
4 print response.read()

2. 通过构造一个request对象,urlopen方法传入一个request请求来实现网页的抓取,代码如下:

1 import urllib2
2
3 request = urllib2.Request("http://www.cnblogs.com/mix88/")
4 response = urllib2.urlopen(request)
5 print response.read()
时间: 2024-10-03 20:35:39

Python网络爬虫之网页抓取(一)的相关文章

网络爬虫(网络蜘蛛)之网页抓取

现在有越来越多的人热衷于做网络爬虫(网络蜘蛛),也有越来越多的地方需要网络爬虫,比如搜索引擎.资讯采集.舆情监测等等,诸如此类.网络爬虫涉及到的技术(算法/策略)广而复杂,如网页获取.网页跟踪.网页分析.网页搜索.网页评级和结构/非结构化数据抽取以及后期更细粒度的数据挖掘等方方面面,对于新手来说,不是一朝一夕便能完全掌握且熟练应用的,对于作者来说,更无法在一篇文章内就将其说清楚.因此在本篇文章中,我们仅将视线聚焦在网络爬虫的最基础技术--网页抓取方面. 说到网页抓取,往往有两个点是不得不说的,首

有了 Docker,用 JavaScript 框架开发的 Web 站点也能很好地支持网络爬虫的内容抓取

点这里 阅读目录 用 AngularJS(以及其它 JavaScript 框架)开发的 Web 站点不支持爬虫的抓取 解决方案 为什么公开我们的解决方案 实现 AngularJS 服务 结论 Prerender 服务能够为网络爬虫提供预先渲染的动态页面内容,解决了用 JavaScript 框架构建的 Web 站点不支持爬虫抓取的问题.本文详细描述了一种解决方案,尤其是提供了集成 Prerender 服务的 Docker 容器镜像. 如果你正在使用 AngularJS 构建一个面向大众消费者的应用

网络爬虫Java实现抓取网页内容

package 抓取网页; import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream; import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.comm

第一个网络爬虫——简单的抓取网页

早上还有实验验收,先上代码,早上再写. import urllib2 import re from bs4 import BeautifulSoup content = urllib2.urlopen("http://www.cnblogs.com/ly941122/").read(); soup=BeautifulSoup(content) siteUrls = soup.findAll('div',{'class':'postTitle'}) tag=re.compile('<

python网络爬虫与信息提取mooc------爬取实例

实例一--爬取页面 1 import requests 2 url="https//itemjd.com/2646846.html" 3 try: 4 r=requests.get(url) 5 r.raise_for_status() 6 r.encoding=r.apparent_encoding 7 print(r.text[:1000]) 8 except: 9 print("爬取失败") 正常页面爬取 实例二--爬取页面 1 import requests

Python开发简单爬虫之静态网页抓取篇:爬取“豆瓣电影 Top 250”电影数据

目标:爬取豆瓣电影TOP250的所有电影名称,网址为:https://movie.douban.com/top250 1)确定目标网站的请求头: 打开目标网站,在网页空白处点击鼠标右键,选择"检查".(小编使用的是谷歌浏览器). 点击"network",在弹出页面若长时间没有数据显示,则试一下F5刷新. 可以得到目标网页中Host和User-Agent两项. 2)找到爬取目标数据(即电影名称)在页面中的位置 右键"检查",选择"Elem

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌,小编在网上找到了第三方工具,它可以将朋友圈进行导出,之后便可以像我们正常爬虫网页一样进行抓取信息了. [出书啦]就提供了这样一种服务,支持朋友圈导出,并排版生成微信书.本文的主要参考资料来源于这篇博文:https://www.cnblogs.com/sheng-jie/p/7776495.html

如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例

前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态--附代码(下),并且对抓取到的数据进行了Python词云和wordart可视化,感兴趣的伙伴可以戳这篇文章:利用Python词云和wordart可视化工具对朋友圈数据进行可视化. 今天我们继续focus on微信,不过这次给大家带来的是利用Python网络爬虫抓取微信好友总数量和微信好友男女性别的分布情况.代码实现蛮简单的,具体的教程如下. 相信大家都知道,直接通过网页抓取微信的数据

Python开发爬虫之动态网页抓取篇:爬取博客评论数据

以爬取<Python 网络爬虫:从入门到实践>一书作者的个人博客评论为例.网址:http://www.santostang.com/2017/03/02/hello-world/ 1)"抓包":找到真实的数据地址 右键点击"检查",点击"network",选择"js".刷新一下页面,选中页面刷新时返回的数据list?callback....这个js文件.右边再选中Header.如图: 其中,Request URL即