教你如何在10分钟内学会简单的爬虫

首先,声明:我是一个正在学习爬虫的新手,请各位大佬,多多指教!

Hi , domo

爬虫emmm,是一个很有趣的东西(目前,我是这样认为的)

相信对于大多数像我一样的新手没有什么经验,对于网上的爬虫教程却又感到非常的复杂难懂。今天我来说一个比较简单爬虫方法。

工具:Python 3.x ,pycharm

库:lxml、request

爬取的界面是;http://www.cug.edu.cn/index/ddyw.htm(地大要闻)

首先要做的是什么呢?

对,当然是对页面的解析(Ctrl+shift+C),

打开页面,利用Ctrl+shift+C,你会得到这个

教你如何在10分钟内学会简单的爬虫_第1张图片

看到左边的了么?接下来右键点击copy Xpath,分析一下路径

了解了路径,接下来就开始提取我们要的内容了,首先是每条新闻的标题即li标签下面的a标签的内容,还有每条新闻的地址即a标签的href属性的内容。

话不多说,上代码

建立一个函数,

def cugspider(url):
    r = requests.get(url)
    r.encoding = "utf-8"

    htm = etree.HTML(r.text)
    result = htm.xpath('//li[@class="list_item"]/a')
    href = htm.xpath('//li[@class="list_item"]/a/@href')

利用get方法获取网页,可以用

print(r.status_code)

查看网页的状态如果是200,恭喜可以访问。

接下来用lxml的etree.HTML将获取的网页包裹起来,就以用xpath来寻找你要的内容了。

如上,我们获取的两个路径分别得到了新闻的标题和内容,是不是很简单。对的,简单的爬虫就是这么简单哈哈哈。

我这里其实就是讲一下爬虫的思想和通过简单的库来实现。有兴趣的同学快去试试吧。

难点还是在对页面的解析,有的网站设置了反爬虫,对于反爬虫我目前也在学习,大家一起进步吧!

详细代码见下面:

代码:https://github.com/CreNeil/CUG_NEWS/blob/master/cug_spiders.py

 

你可能感兴趣的:(教你如何在10分钟内学会简单的爬虫)