Xpath 练习之糗事百科

发布时间:2018-09-22 编辑:汤利军 阅读:

爬行对象:国内段子网站(https://www.qiushibaike.com/joke/627960/),抓取该页面的作者、段子内容、好笑数、评论数

抓取目标结果如下图所示:




糗事百科是一个很好爬的网站、无须登录
  

编程思路:

  
1、发送请求获得该段子源码
  
2、查看HTML结构、利用Xpath解析提取想要的内容
  
一、发送请求获得段子
  
import requests
  
from lxml import etree
  
import pymysql
  
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
  
url = 'https://www.qiushibaike.com/joke/627960/'
  
sponse = requests.get(url = url , headers = header).content
  
print(sponse)
  
运行上述代码、成功输出网站源码
  
二、利用Xpath提取内容(还可以利用正则及’美丽汤‘模块)由于时间关系、在此就不介绍Xpath用法、关于Xpath用法、可阅读阮一峰《xpath路径表达式笔记》
  
通过分析HTML结构、发现所有段子都位于class="article block untagged mb15"的div中
  
nodes = html.xpath('//div[@id="content-left"]/div[@class="article block untagged mb15"]')
  
然后循环nodes、找到想要的内容
  
for node in nodes:
  
# 找到作者
 
author = node.xpath('div[@class="author clearfix"]/a[2]/h2/text()')
  
  
age = node.xpath('div[@class="author clearfix"]/div[1]/text()')
  
# 找到内容
  
content = node.xpath('a[@class="contentHerf"]/div[@class="content"]/span/text()')
  
# 找到好笑数
  
stats = node.xpath('div[@class="stats"]/span[1]/i/text()')
  
# 找到评论数
  
comment = node.xpath('div[@class="stats"]/span[@class="stats-comments"]/i/text()')
  
看完本文之后、是不是发现Xpath提取网站内容如此简单。点此下载源码

关注我

图文推荐

云标签

友链交换