用python写爬虫代码如何换行_10行代码完成一个爬虫,就这么简单

用Python开发一个简单爬虫非常简单,10多行代码即可完成,实现功能。

1、获取网页代码

就是将互联网上URL对应的网页下载到本地(内存)中。再进行内容分析和提取。

这部分要实现的功能,相当于浏览器,当我们在浏览器上输入一个URL地址,是向远程服务器发送一个请求,远程服务器把源代码通过网络传送到客户端的浏览器,由浏览器进行解析呈现。我们通常在网页上右键--“显示网页源代码”,看到的代码就是服务器端传输过来的。现在要以编程的方式拿到这些代码。

获取网页的方式,有urlib, urllib2, requests三种方法。

urlib和urllib2是Python提供的基础模块。 requests是Python提供的第三方库,功能更为强大。

urllib2

can accept a Request object to set the headers for a URL request,urllib

accepts only a URL. That means, you cannot masquerade your User Agent string etc.

urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以伪装你的User Agent字符串等。

(就是用urllib2可以提交Cookie数据,实现模拟登录)

urllib

provides the urlencode method which is used for the generation of GET query strings, urllib2

doesn't have such a function. This is one of the reasons why urllib

is often used along with urllib2

urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。

看一下实现的代码,共4行代码,使用的是urllib2:

def getHtml(url):

page = urllib.urlopen(url)

html = page.read()

return html

拿到代码可以在控制台打印输出看一下。

2、提取相应内容

就是对拿到的网页源代码进行匹配,检索解析出需要的内容。如爬取网站上所有的图片,就是要分析出图片的url(img 标签的 src)

网页解析,提取内容的方式有正则表达式,BeautifulSoup,XPath。

Beautiful Soup是Python的一个库,最主要的功能是从网页抓取数据。

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

简单来说,正则表达式就是要描述出所要提取内容周边元素,采用模糊匹配的方式,XPath是指定一个路径来查找所要的内容。

拿到数据的关键是要熟悉网页的结构。XPath 是需要知道文档的层级结构, Beautiful Soup可以通过某些标签来直接查找。

(以爬取简书首页 文章标题,链接,阅读量,评论量为例)

这是文档中文章 标签及结构

写出正则表达式:

reg = r'

(.*?)
[\n][\s]+
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值