爬虫-用xpath爬取豆瓣图书的短评
Xpath的安装:
1.使用pip安装 $ pip install lxml
2.下载whl文件 $ pip install "文件名"
Xpath的使用
导入lxml——>返回xml结构——>寻找数据
from lxml import etreeurl = ""s = etree.HTML(url)print(s.xpath())
1.获取文本内容用text()
2.获取注释用comment()
3.获取其他任何属性用@xx,如
- @href
- @src
- @value
4.想获取某个标签下的所有文本(包括子标签下的文本),使用string
5.starts-with 匹配字符串前面相等
6.contains 匹配任何位置相等
下面用xpth爬取豆瓣读书
分析网站:
爬取的是豆瓣读书网中图书的短评,网站地址:豆瓣读书短评
打开浏览器开发者模式,按住Ctrl+Shirt+C然后点击第一条评论。
浏览器会自己找到我们所点击的地方,然后右键Copy——>Copy XPath。
结果://*[@id="comments"]/ul/li[1]/div[2]/p/span
import requests
from lxml import etree
url = "https://book.douban.com/subject/25924253/comments/
resp = requests.get(url).text
print(s.xpath('//*[@id="comments"]/ul/li[1]/div[2]/p/span/text()'))
下面我们爬取这一页所有的短评,先copy Xpath上几个,看看有什么规律
第一个短评://*[@id="comments"]/ul/li[1]/div[2]/p/span
第二个短评://*[@id="comments"]/ul/li[2]/div[2]/p/span
第三个短评://*[@id="comments"]/ul/li[3]/div[2]/p/span
很容易发现li[]随着短评数目增加而增加,此时只需要改成//*[@id="comments"]/ul/li/div[2]/p/span就行了
import requests
from lxml import etree
url = "https://book.douban.com/subject/25924253/comments/"
resp = requests.get(url).text
s = etree.HTML(resp)
print(s.xpath('//*[@id="comments"]/ul/li/div[2]/p/span/text()'))
发现是不是很容易呢?如果要爬取多页的短评呢?此时点击下一页看看网址有什么变化。
第一页网址:https://book.douban.com/subject/25924253/comments/
第二页网址:https://book.douban.com/subject/25924253/comments/hot?p=2
第三页网址:https://book.douban.com/subject/25924253/comments/hot?p=3
发现后面的p的取值决定第几页,这下就好办了。
import requests
from lxml import etree
for i in range(1,10):url = "https://book.douban.com/subject/25924253/comments/hot?p={}".format(i)resp = requests.get(url).texts = etree.HTML(resp)print(s.xpath('//*[@id="comments"]/ul/li/div[2]/p/span/text()'))
很容易就爬取到了,也可以写入txt文本中,这里就不写了。
爬虫-用xpath爬取豆瓣图书的短评相关推荐
- python xpath爬取豆瓣图书Top 250存入csv文件并解决csv乱码问题
我上次分享过关于爬取豆瓣电影top250的实战:BeautifulSoup爬取豆瓣电影top250信息 和 python BeautifulSoup爬取豆瓣电影top250信息并写入Excel表格 , ...
- 基于Requests的Python爬虫入门实例------爬取豆瓣图书排行榜的前25本图书(小白福利)
话不多说,先上代码: # -*- coding:utf-8 -*- import sys import requests import lxml from bs4 import BeautifulSo ...
- Python爬虫入门 | 4 爬取豆瓣TOP250图书信息
先来看看页面长啥样的:https://book.douban.com/top250 我们将要爬取哪些信息:书名.链接.评分.一句话评价-- 1. 爬取单个信息 我们先来尝试爬取书名,利用之 ...
- requests 获取div_爬虫系列第五篇 使用requests与BeautifulSoup爬取豆瓣图书Top250
上一篇我们学习了BeautifulSoup的基本用法,本节我们使用它来爬取豆瓣图书Top250. 一.网页分析 我们爬取的网页的url是https://book.douban.com/top250?i ...
- python爬虫爬取豆瓣图书
爬取豆瓣图书top250的第一页 我最终爬取的是图书的书名,链接 先要做个说明,如果你是编程高手的话,这边文章你就不用看了,如果你是个python爬虫小白的话,可以看看这篇原创 我将用到的软件是pyc ...
- 爬虫系列1:Requests+Xpath 爬取豆瓣电影TOP
爬虫1:Requests+Xpath 爬取豆瓣电影TOP [抓取]:参考前文 爬虫系列1:https://www.cnblogs.com/yizhiamumu/p/9451093.html [分页]: ...
- Python3爬取豆瓣图书Top250并写入txt文件当中
首先简单介绍一下过程 1.解析url 2.获得html文件 3.解析数据 4.写入txt文本(按页写入) 5.上传代码 转载前可以备注一下ytouch的名字 '''爬取豆瓣图书前250名''' #au ...
- 爬取豆瓣图书排行榜前十并使用图表的形式展示
爬取豆瓣图书 最近在学习爬虫的基础使用,发现最好爬的网站就是豆瓣了,随随便便都是可以爬到数据. 下面就是使用Python中间的requests模块实现豆瓣图书排行榜的爬取: import reques ...
- Scrapy爬取豆瓣图书详情存入CSV并导入MySQL
目录 前言 一.新建爬虫工程 二.修改settings.py文件 三.编写items.py 四.编写pipelines.py 五.编写book.py 六.存储到MySQL 七.爬取结果 八.后言 前言 ...
- scrapy mysql 豆瓣_利用Scrapy爬取豆瓣图书并保存至Mysql数据库
Scrapy是一个纯Python语言写的爬虫框架,本次用它来爬取豆瓣图书的数据. 准备工作 没有安装Scrapy的同学需要安装一下,有两种方式安装: 安装了Anaconda的同学直接在命令行输入con ...
最新文章
- 太赞!639页《深度学习:Deep Learning》硬核课程PPT下载
- 全球十大AI领军人物
- Android WiFi热点完全研究(自定义创建、跳转系统界面设置、读取配置、切换,Android6.0适配)...
- javascript中闭包的一些理解
- tensorflow基础
- SpringBoot系列:Spring Boot集成定时任务Quartz
- Intellij自动生成测试类
- Codeforces 892E Envy
- java中List、Map、Set、Collection、Stack、Queue等的使用
- REVERSE-PRACTICE-BUUCTF-10
- 为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
- 876. Middle of the Linked List
- 待解决的问题 POJ 3225 Help with Intervals 线段树 码力
- Leap手心发射线,碰撞点用小球表示,并用Line Renderer画出来
- 文图片处理技巧——透明块
- 景点评论爬虫之微博爬虫和携程爬虫
- MSDN Library - October 2001 精简方法
- 为地图marker 设置网络图片
- 关于idea debug step into不进入class文件或者自己想要略过的一些文件设置
- win10系统改win7设置bios方法图文教程