教你如何在10分钟内学会简单的爬虫
首先,声明:我是一个正在学习爬虫的新手,请各位大佬,多多指教!
Hi , domo
爬虫emmm,是一个很有趣的东西(目前,我是这样认为的)
相信对于大多数像我一样的新手没有什么经验,对于网上的爬虫教程却又感到非常的复杂难懂。今天我来说一个比较简单爬虫方法。
工具:Python 3.x ,pycharm
库:lxml、request
爬取的界面是;http://www.cug.edu.cn/index/ddyw.htm(地大要闻)
首先要做的是什么呢?
对,当然是对页面的解析(Ctrl+shift+C),
打开页面,利用Ctrl+shift+C,你会得到这个
看到左边的了么?接下来右键点击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