xpath爬取豆瓣韩剧数据

需求:爬取豆瓣韩剧的标题、评分、评论以及详情页地址。

1、导入模块

import requests
from lxml import etree
import csv

2、分析每一页链接的规律
https://www.douban.com/doulist/2942804/?start=0&sort=seq&playable=0&sub_type= 第1页
https://www.douban.com/doulist/2942804/?start=25&sort=seq&playable=0&sub_type= 第2页
https://www.douban.com/doulist/2942804/?start=50&sort=seq&playable=0&sub_type= 第3页
所以 n=(page-1) * 25

3、获取url、模拟浏览器

baseurl='https://www.douban.com/doulist/2942804/?start={}&sort=seq&playable=0&sub_type='
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}

4、定义函数
返回源码

def getSource(url):response=requests.get(url,headers=headers)return response.content.decode('utf-8')

爬取标题、评分、评论以及详情页地址

def getmain(source):element=etree.HTML(source)movies=element.xpath('//div[@class="mod"]')# 展示信息 [{标题:XXX,评分:xxx,},{},{}]movieList=[]for movie in movies:# 存储 标题 评分 评论 详情页的地址movieDict={}

xpath语法查找

        title=movie.xpath('div[@class="bd doulist-subject"]/div[@class="title"]/a/text()')score=movie.xpath('div[@class="bd doulist-subject"]/div[@class="rating"]/span[@class="rating_nums"]/text()')comment=movie.xpath('div[@class="ft"]/div[@class="comment-item content"]/blockquote/text()')link=movie.xpath('div[@class="bd doulist-subject"]/div[@class="post"]/a/@href')

爬取为空列表的判断

        if title:title=title[0]else:title=''if score:score=score[0]else:score=''if comment:comment=comment[1]else:comment=''if link:link=link[0]else:link=''

添加字典键值对,追加并返回列表

        movieDict['title']=titlemovieDict['score']=scoremovieDict['comment']=commentmovieDict['link']=linkmovieList.append(movieDict)print(movieList)return movieList

写入数据

def writeData(movieList):# newline='' 设置为空字符串with open('hanjuTV.csv','w',encoding='utf-8',newline='') as f:writer=csv.DictWriter(f,fieldnames=['title','score','comment','link'])writer.writeheader()  # 写入表头for i in movieList:writer.writerow(i)if __name__ == '__main__':movieList=[]for j in range(10):# 获取每一个列表页urlpagelink=baseurl.format(j*25)# 获取每一页的源码数据source=getSource(pagelink)# 获取数据 movieList = movieList + getEveryItem(source) 注意点movieList += getmain(source)writeData(movieList)

Python爬虫04-xpath爬取豆瓣韩剧数据相关推荐

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

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

  2. Python爬虫入门(爬取豆瓣电影信息小结)

    Python爬虫入门(爬取豆瓣电影信息小结) 1.爬虫概念 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或脚本.爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据. 2.基本流程 ...

  3. Python爬虫:Xpath爬取网页信息(附代码)

    Python爬虫:Xpath爬取网页信息(附代码) 上一次分享了使用Python简单爬取网页信息的方法.但是仅仅对于单一网页的信息爬取一般无法满足我们的数据需求.对于一般的数据需求,我们通常需要从一个 ...

  4. Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(下)

    在Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)中,我们最后爬出来的结果不是很完美,这对于"精益求精.追求完美的"程序猿来说怎么能够甘心 所以,今天,用pyth ...

  5. python爬虫——Cookie登录爬取豆瓣短评和影评及常见问题

    python爬虫--Cookie登录爬取豆瓣短评和影评 常见问题(本文已解决) 具体步骤 一.获取网页源码 短评.影评 二.解析网页源码及爬取评论 1.短评网页解析 ①确定位置 2.短评爬取 ①名称爬 ...

  6. 利用python爬取天气预报_python实现天气爬虫——利用xpath爬取七天天气预报数据...

    python实现天气爬虫--利用xpath爬取七天天气预报数据 import pandas as pd import lxml import requests import csv from lxml ...

  7. python爬虫实践之爬取豆瓣高评分电影

    目录 概述 准备 所需模块 涉及知识点 运行效果 完成爬虫 1. 分析网页 2. 爬虫代码 3. 整理总结 概述 爬取豆瓣的高评分的电影. 准备 所需模块 re模块 requests模块 涉及知识点 ...

  8. python爬虫豆瓣电影短评_【Python爬虫】BeautifulSoup爬取豆瓣电影短评

    目的:爬取豆瓣[红海行动]电影的首页短评 步骤: 1.使用BeautifulSoup解析网页 soup = BeautifulSoup(r, 'lxml') // lxml 库解析速度快,也能解析复杂 ...

  9. python爬虫,Scrapy爬取豆瓣电影《芳华》电影短评,分词生成词云图。

    项目github地址:https://github.com/kocor01/scrapy_cloud Python版本为3.6 自己写的简单架构<python爬虫,爬取豆瓣电影<芳华> ...

最新文章

  1. 全字库说文解字字体_整理了10款免费商用中文字体,超好用
  2. leetcode 1738. 找出第 K 大的异或坐标值
  3. 安卓开发仿微信图片拖拽_Android 仿微信朋友圈图片拖拽返回
  4. Java彻底 - WEB容器的侦听具体解释 ServletContextListener
  5. 爬虫基本原理及requests,response详解
  6. 3项目里面全局用less变量 cli vue_如何把 CSS 变量全局化
  7. win10系统打开/解压缩文件时出现文件名乱码
  8. win10虚拟服务器安装xp,win10安装xp虚拟机安装教程_win10安装xp虚拟机详细步骤
  9. 新手阿里云服务器操作指南(图文教程)
  10. 12星座的出生年月日性格_十二星座的出生日期及对应性格
  11. CDH集群更换IP处理方法
  12. 2021年数字IC面经---平头哥
  13. java md5加密64位_MD5加密的Java实现
  14. el-form 表单的校验
  15. 三种存储类型:块存储、文件存储、对象存储
  16. (vue) 前端实现下载本地Excel模板
  17. PCB设计指南:安规、布局布线、EMC、热设计、工艺
  18. 连续词袋模型(Continous bag of words, CBOW)
  19. composer 初级使用
  20. 在ubantu下安装搜狗

热门文章

  1. 文案圈内的拿破仑:新媒体推广运营文案创作的黄金法则,黎想手把手教你写出黄金文案
  2. 学习php技术最快需要多久,学php最快要多久 学习路线
  3. 关于error LNK2001: unresolved external symbol
  4. 上海市新闻热线电话一览
  5. 迁移系统后黑屏 只有鼠标可以动【解决方法】
  6. python全栈开发工程师招聘_如何当一名优雅的Python全栈开发工程师?
  7. getHibernateTemplate().bulkUpdate()
  8. 怎么做竞价托管,流程是怎么样的?
  9. 代码人,代码魂,我在Windows跑Linux!
  10. Redis-day01-note