java爬取网页数据_Python爬虫1:爬取网页特定数据

一、环境准备

Python环境和Pycharm编辑器

同时本次爬取网页信息需要使用requests和lxml两个库,若无,需安装。

以lxml为例安装方式如下:

<1>运行-Cmd后,输入pip install lxml,若成功安装可不进行下一步。

<2>若第一步未成功,需要手动下载相关文件,但保险起见,先查询下本机python支持哪些可下载版本。进入python,先输入pip import,再输入print(pip.pep425tags.get_supported()),得到支持版本,下载时保持一致即可。

061b56177f140a771cfddd081189ef18.pnglxml下载链接:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

e6ed3d278921a27c6fd9e2a4cf2171ce.png

<3>命令行中进入文件下载目录,输入pip install 文件名,显示安装成功,就可以进行下一步啦~

注意:勿将文件放在带中文的目录下,安装会报错。 

e6c6ecf25d8469aa80e87a994ac7f359.png

二、爬取网页信息

爬取网页全局信息,主要使用requests库,在pycharm中新建爬虫文件夹后新建python文件,本例以CSDN官网首页为例获取网页H5代码,语句如下:

#coding:UTF-8import requests# 获取源码html = requests.get("https://www.csdn.net/")# 打印源码print html.text

执行后,网页前端代码就爬下来了,如下图:

b59de1ebf0c0dbaee5be463b27d71bfc.png

三、爬取具体数据

本次选择爬取的数据为CSDN首页左端的标题,要想获得信息,使用lxml库中的etree,且需要获得文本的xpath信息,chrome浏览器中查看源码,点击左上角鼠标定位想要找寻的信息,右击相应html标签,copy-copyXpath即可。以推荐为例,复制后的Xpath信息如下://*[@id="nav"]/div/div/ul/li[1]/a

65fd59550cd87d91a6544dd66ab106a6.png

下面为左侧导航栏的框架代码,整个nav中,用id="nav"来统一管理样式和获取nav信息,可以知道,xpath是准确的,完整定位了内容位置。

eedee5f37c59cc37c1634a19fb16610a.png

但当我们执行获取内容文件时,显示的是element信息:3c02837dcdc43673434be8d92a92e61c.png

需要提取其他信息时,xpath后可添加提取属性的内容:/@xxxx,如获取链接,添加/@href。而要想获得具体文本信息时,在xpath后添加text(),方能展示出完整信息,具体xpath路径为://*[@id="nav"]/div/div/ul/li[1]/a/text()当仅获取左端“推荐”信息时,xpath为上述路径,如下图所示,li[1]/a对应的信息是“推荐”。

5d3bd4441a5eec2c95c0ac8153cb4698.png     同时,从结构可以看出来,左侧信息都在ul的li下,因此删除li[*],可以得到左侧所有目录的信息。完整代码如下:

#coding:UTF-8import requestsfrom lxml import etreehtml = requests.get("https://www.csdn.net/")# print html.textetree_html = etree.HTML(html.text)content = etree_html.xpath('//*[@id="nav"]/div/div/ul/li/a/text()')for each in content:    print each

四、总结

一个简单的python爬虫,但在实践中,也遇到一些小问题,后期将进一步学习对数据的筛选及其他爬虫方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值