爬取糗事百科段子,假设页面的URL是 http://www.qiushibaike.com/8hr/page/1

要求:

  1. 使用requests获取页面信息,用XPath / re 做数据提取

  2. 获取每个帖子里的用户头像链接用户姓名段子内容点赞次数评论次数

  3. 保存到 json 文件内

参考代码

#qiushibaike.py

#import urllib
#import re
#import chardet import requests
from lxml import etree page = 1
url = 'http://www.qiushibaike.com/8hr/page/' + str(page)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36',
'Accept-Language': 'zh-CN,zh;q=0.8'} try:
response = requests.get(url, headers=headers)
resHtml = response.text html = etree.HTML(resHtml)
result = html.xpath('//div[contains(@id,"qiushi_tag")]') for site in result:
item = {} imgUrl = site.xpath('./div/a/img/@src')[0].encode('utf-8')
username = site.xpath('./div/a/@title')[0].encode('utf-8')
#username = site.xpath('.//h2')[0].text
content = site.xpath('.//div[@class="content"]/span')[0].text.strip().encode('utf-8')
# 投票次数
vote = site.xpath('.//i')[0].text
#print site.xpath('.//*[@class="number"]')[0].text
# 评论信息
comments = site.xpath('.//i')[1].text print imgUrl, username, content, vote, comments except Exception, e:
print e

最新文章

  1. vs2010边调试边编辑后台.cs文件的办法
  2. Spring HTTP下载
  3. xhEditor用法
  4. Python 处理数据库返回结果
  5. Nginx 1.10.2 php 7 环境安装
  6. JAVA中常用的二进制位操作
  7. Cent OS 6.6 下安装mysql(5.5.20)和 PHP(5.3.10)
  8. php开发环境安装配置(1)
  9. Effective C++(19) 设计class犹如设计type
  10. 【翻译】A Next-Generation Smart Contract and Decentralized Application Platform
  11. Spring的事务
  12. window备忘录
  13. three.js 一幅图片多个精灵
  14. 用命令bat打开某个文件或文件夹
  15. net core 获取网站目录
  16. source insight之quicker.em宏的使用
  17. mysql数据类型及存储过程
  18. 对于大型公司项目平台选择j2ee的几层认识
  19. Linux安装JDK8详细步骤
  20. 无法读取Excel中的数据单元格。有数据,但是读出来全是空值

热门文章

  1. Discuz常见小问题2-如何在数据库搜索指定关键字
  2. IO/序列化/JSON
  3. Redis源代码解析:13Redis中的事件驱动机制
  4. HBase - 计数器 - 计数器的介绍以及使用 | 那伊抹微笑
  5. hudson status
  6. struct2常用标签
  7. 部署NopCommerce商城系统问题整理
  8. Java成员变量与局部变量同名
  9. 【ASP.NET MVC系列】详解View
  10. MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)