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爬取豆瓣图书的短评相关推荐

  1. python xpath爬取豆瓣图书Top 250存入csv文件并解决csv乱码问题

    我上次分享过关于爬取豆瓣电影top250的实战:BeautifulSoup爬取豆瓣电影top250信息 和 python BeautifulSoup爬取豆瓣电影top250信息并写入Excel表格 , ...

  2. 基于Requests的Python爬虫入门实例------爬取豆瓣图书排行榜的前25本图书(小白福利)

    话不多说,先上代码: # -*- coding:utf-8 -*- import sys import requests import lxml from bs4 import BeautifulSo ...

  3. Python爬虫入门 | 4 爬取豆瓣TOP250图书信息

      先来看看页面长啥样的:https://book.douban.com/top250   我们将要爬取哪些信息:书名.链接.评分.一句话评价--   1. 爬取单个信息 我们先来尝试爬取书名,利用之 ...

  4. requests 获取div_爬虫系列第五篇 使用requests与BeautifulSoup爬取豆瓣图书Top250

    上一篇我们学习了BeautifulSoup的基本用法,本节我们使用它来爬取豆瓣图书Top250. 一.网页分析 我们爬取的网页的url是https://book.douban.com/top250?i ...

  5. python爬虫爬取豆瓣图书

    爬取豆瓣图书top250的第一页 我最终爬取的是图书的书名,链接 先要做个说明,如果你是编程高手的话,这边文章你就不用看了,如果你是个python爬虫小白的话,可以看看这篇原创 我将用到的软件是pyc ...

  6. 爬虫系列1:Requests+Xpath 爬取豆瓣电影TOP

    爬虫1:Requests+Xpath 爬取豆瓣电影TOP [抓取]:参考前文 爬虫系列1:https://www.cnblogs.com/yizhiamumu/p/9451093.html [分页]: ...

  7. Python3爬取豆瓣图书Top250并写入txt文件当中

    首先简单介绍一下过程 1.解析url 2.获得html文件 3.解析数据 4.写入txt文本(按页写入) 5.上传代码 转载前可以备注一下ytouch的名字 '''爬取豆瓣图书前250名''' #au ...

  8. 爬取豆瓣图书排行榜前十并使用图表的形式展示

    爬取豆瓣图书 最近在学习爬虫的基础使用,发现最好爬的网站就是豆瓣了,随随便便都是可以爬到数据. 下面就是使用Python中间的requests模块实现豆瓣图书排行榜的爬取: import reques ...

  9. Scrapy爬取豆瓣图书详情存入CSV并导入MySQL

    目录 前言 一.新建爬虫工程 二.修改settings.py文件 三.编写items.py 四.编写pipelines.py 五.编写book.py 六.存储到MySQL 七.爬取结果 八.后言 前言 ...

  10. scrapy mysql 豆瓣_利用Scrapy爬取豆瓣图书并保存至Mysql数据库

    Scrapy是一个纯Python语言写的爬虫框架,本次用它来爬取豆瓣图书的数据. 准备工作 没有安装Scrapy的同学需要安装一下,有两种方式安装: 安装了Anaconda的同学直接在命令行输入con ...

最新文章

  1. 太赞!639页《深度学习:Deep Learning》硬核课程PPT下载
  2. 全球十大AI领军人物
  3. Android WiFi热点完全研究(自定义创建、跳转系统界面设置、读取配置、切换,Android6.0适配)...
  4. javascript中闭包的一些理解
  5. tensorflow基础
  6. SpringBoot系列:Spring Boot集成定时任务Quartz
  7. Intellij自动生成测试类
  8. Codeforces 892E Envy
  9. java中List、Map、Set、Collection、Stack、Queue等的使用
  10. REVERSE-PRACTICE-BUUCTF-10
  11. 为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
  12. 876. Middle of the Linked List
  13. 待解决的问题 POJ 3225 Help with Intervals 线段树 码力
  14. Leap手心发射线,碰撞点用小球表示,并用Line Renderer画出来
  15. 文图片处理技巧——透明块
  16. 景点评论爬虫之微博爬虫和携程爬虫
  17. MSDN Library - October 2001 精简方法
  18. 为地图marker 设置网络图片
  19. 关于idea debug step into不进入class文件或者自己想要略过的一些文件设置
  20. win10系统改win7设置bios方法图文教程

热门文章

  1. vue-baidu-map + mapv 实现百度地图迁徙图动效
  2. a4504光耦怎么检测好坏_怎样判断光耦的好坏
  3. 某些特殊悼念日的时候,让个人网页风格变黑灰色
  4. 53Java模拟器,515最好的java模拟器
  5. 大数据可视化是什么意思?
  6. 大数据可视化-Tableau
  7. 大学计算机考试满分多少分,自主招生考试多少分 最多降多少分
  8. Python课第3周:平方根格式化
  9. 360云盘账号停止服务器,360云盘服务器终止为什么
  10. 国内有哪些做得好的企业协同办公软件?这6款你知道吗?