准备
- Python基础语法(学会列表即可)
- 浏览器
- Python库
- pyquery
分析目标
- 打开浏览器,进入目标网站(此处以百度百家·人物为例)
- 打开开发者模式(F12)
- 通过浏览器自带的工具查看页面html结构
-
工具:
-
结果:
- 发现标题在h3标签下的a标签中
开始抓取
完整代码
from pyquery import PyQuery
url = 'http://baijia.baidu.com/?tn=listarticle&labelid=101'
html = PyQuery(url, encoding='utf8')
tags_a = html('h3').find('a')
for a in tags_a.items():
print(a.text())
部分说明
# 使用encoding来制定编码方式,不指定可能导致中文乱码
html = PyQuery(url, encoding='utf8')
# tags_a 不是列表对象而是htmlEelment集合对象,
# 所以需要使用.items()获取里面单独的a标签对象
for a in tags_a.items():
结束
以上就是一个简单的用来获取网络信息的爬虫,但是一只完备的爬虫往往会考虑更多的东西。相信大家在学习的过程中也发现了,代码是非常简单的(Java、.NET等也是如此),所以爬虫难度往往来自对网页请求的分析(包括反爬措施)和项目的结构组织。