爬虫案例—爬取ChinaUnix.net论坛板块标题
ChinaUnix.net论坛网址:http://bbs.chinaunix.net
目标:抓取各个板块的标题和内容的标题
网站截图:
利用requests和xpath实现目标。源码如下:
import requests
from lxml import etree
headers = {
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',}
url = 'http://bbs.chinaunix.net'
res = requests.get(url, headers=headers)
html = res.text
tree = etree.HTML(html)
div_lst = tree.xpath('//div[@class="mn"]/div/table')
for div in div_lst[:6]:
print('板块名称:', div.xpath('./tbody[1]/tr/td//h2/a/text()')[0])
for tr in div.xpath('./tbody[2]/tr'):
for td in tr.xpath('./td'):
# if td.xpath('./table'):
# print(td.xpath('./table/tr/td[2]/a/text()'))
table_lst = td.xpath('./table')
if table_lst:
print(td.xpath('./table/tr/td[2]/a/text()')[0],end='\t')
print('')
print('=' * 50)
运行结果如下:
抓取ChinaUnix板块标题.py
板块名称: IT运维
Docker 监控及自动化运维技术 集群和高可用
服务器应用 虚拟化与云服务 分布式文件系统(FastDFS)
数据安全 服务器及硬件技术 存储备份
网络技术 初创企业IT架构选型 中间件技术
Hadoop和大数据技术
==================================================
板块名称: 操作系统
Linux新手园地 Linux系统管理 Windows系统
BSD AIX AS400
Solaris HP-UX 其他UNIX
移动操作系统 Mac OS X
==================================================
板块名称: 程序设计
C/C++ Linux环境编程 内核源码
Shell Perl Java
PHP Python Ruby
嵌入式开发 驱动开发 Web开发
架构设计 CPU与编译器 软件配置管理
Golang Erlang
==================================================
板块名称: 数据库技术
MySQL Sybase Oracle
PostgreSQL DB2 Informix
数据仓库与数据挖掘 NoSQL技术
==================================================
板块名称: 综合交流区
IT资讯 IT职业生涯 IT图书与评论
二手交易 下载共享
==================================================
板块名称: 站务及频道
站务交流 博客SNS站务交流区 CU活动专区
频道交流区
==================================================
Process finished with exit code 0