之前看了很多关于爬虫的文章或教学视频,私以为这个教程最清晰,也是最有条理的
分享url :
作者:python爬虫
https://www.bilibili.com/read/cv998287
出处: bilibili

爬虫的主要思想是:请求网页->获取html源码->匹配内容
多页爬取:获取页码->构建所有页码的循环,逐页爬取
举个例子:猫眼电影的评分网页
https://maoyan.com/films?showType=3&offset=30 <—这个是第二页的url,
https://maoyan.com/films?showType=3&offset=60<—这个是第三页的url
不难发现,他们的网页是有规律的,offset是递增的,公差为30
这将有利于我们构建页码的循环,实现多页爬取

import requests
url = "https://maoyan.com/films?showType=3&offset="
for i in range(10):pn_url= url+str(i*30)#由于猫眼电影每一个网页的offset的公差为30pn_html =requests.get(pn_url).textprint(pn_url)#打印网站地址


关于获取电影名字以及电影评分:
按下图操作,然后右键选择“copy xpath”

pn=data.xpath('//*[@id="app"]/div/div[2]/div[3]/ul/li[7]/a/text()')
#从html中获取页码所对应的标签+/text()来取出文本


在dd文件夹下有三个div,分别是:电影信息,电影名字,电影评分
这是原作者的建议:分别获取class属性为"channel-detail movie-item-title"的div标签下的title值和div下的a标签的href值(这里没有用复制xpath路径,当然如果可以的话,也建议大家用这种方式,因为用路径的话,万一网页修改一下结构,那我们的代码就要重新写了)

names=pn_data.xpath('//div[@class="channel-detail movie-item-title"]/@title')
scores=pn_data.xpath('//div[@class="channel-detail channel-detail-orange"]')

由于评分不在一个标签下,而是2个标签下的文本内容合并的,所以用这种方式获取!

 scores=pn_data.xpath('//div[@class="channel-detail channel-detail-orange"]')scores=[x.xpath('string(.)')for x in scores]

完整代码如下:

import requests
from lxml import etreeurl = "https://maoyan.com/films?showType=3&offset="
html = requests.get(url).text #.text是获取html文本,如果不加,则返回是否获取成功的提示
data=etree.HTML(html)#用lxml中的etree方法解析html,
print(html)#解析html的结果
pn=data.xpath('//*[@id="app"]/div/div[2]/div[3]/ul/li[7]/a/text()')
#从html中获取页码所对应的标签+/text()来取出文本
for i in range(10): #先获取10页做个实验pn_url= url+str(i*30)#由于猫眼电影每一个网页的offset的公差为30pn_html =requests.get(pn_url).textprint(pn_url)pn_data=etree.HTML(pn_html)names=pn_data.xpath('//div[@class="channel-detail movie-item-title"]/@title')#与获取页码的方式相似,打开F12,我们所要的内容在dd这个标签下,它有三个div,分别放着电影名,电影评分,电影简介scores=pn_data.xpath('//div[@class="channel-detail channel-detail-orange"]')scores=[x.xpath('string(.)')for x in scores]for x,y in zip(names,scores):with open('movie.txt','a+',encoding='utf-8')as f:f.write('[电影名]'+x+' ')f.write('[电影评分]'+y+' '+'\n')print(f'the {i+1} page downloaded!')

爬取初试----猫眼电影,猫眼评分相关推荐

  1. 爬取豆瓣TOP250电影的评分、评价人数、短评等信息,并在其保存在sql数据库中。

    爬取目标 爬取豆瓣TOP250电影的评分.评价人数.短评等信息,并在其保存在sql数据库中. 最终实现效果如图: 确定爬取的URL 爬取的网页地址为:https://movie.douban.com/ ...

  2. python爬猫眼电影影评,Python系列爬虫之爬取并简单分析猫眼电影影评

    前言 今天给大家介绍利用Python爬取并简单分析猫眼电影影评.让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: requests模块: pyecharts模块: jieba模 ...

  3. [python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

    这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对 ...

  4. python爬取豆瓣排行榜电影(静态爬取)(二次爬取)

    目录 python爬取豆瓣排行榜电影(静态爬取) 获取网站url 获取网站headers get请求访问url BeautifulSoup解析网站 爬取html数据 完整代码 python爬取豆瓣排行 ...

  5. python获取游戏数据_Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是.........

    原标题:Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是...... 作者 |量化小白H 责编 | 胡巍巍 本文爬取了豆瓣游戏网站上所有可见的游戏评分数据进行分析,全文包括以下几 ...

  6. scrapy爬取豆瓣top250电影数据

    scrapy爬取豆瓣top250电影数据 scrapy框架 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. sc ...

  7. 爬虫实战(一)利用scrapy爬取豆瓣华语电影

    爬虫第一个项目是爬取豆瓣华语电影,后面将对这部分数据进行分析. 本文也是发表于『运筹OR帷幄』微信公众号的<用数据带你了解电影行业-华语篇>的爬虫介绍篇. 1. 爬取思路 在观察了豆瓣每个 ...

  8. Python爬取豆瓣Top250电影中2000年后上映的影片信息

    Python爬取豆瓣Top250电影中2000年后上映的影片信息 前言 双十一前加在京东购物车的一个东西,价格330,Plus会员用券后差不多310.双十一当天打开看了下399,还得去抢满300减10 ...

  9. python采用requests+bs4爬取豆瓣top250电影信息

    爬取豆瓣top250电影说明 (链接:https://movie.douban.com/top250,可爬取一页或者多页(输出电影的正标题(肖申克的救赎),副标题( The Shawshank Red ...

最新文章

  1. call dword prt[eax]
  2. group by 和 having(转载)
  3. flutter - 如何在Dart/Flutter中将某些元素从一个Map复制到新Map中?
  4. 洛谷 [SDOI2015]约数个数和 解题报告
  5. CoSENT:比Sentence-BERT更有效的句向量方案
  6. emc文件存储服务器,emc存储怎么挂在linux服务器上
  7. 【SSM面向CRUD编程专栏 7】springAop 事务控制
  8. 又一次摔MFC坑里了
  9. IT书籍汇总下载(python_c++_java_android_网络安全)等-持续更新
  10. 拓端tecdat|R语言K-means和层次聚类分析癌细胞系微阵列数据和树状图可视化比较
  11. 晨曦记账本记账,导出账目保存表格
  12. LTE时代的定位技术:OTDOA,LPP,SUPL2.0
  13. 多元线性回归的spss应用
  14. Spring boot 日志分档基于log4j2.yml 配置文件
  15. joda-money的使用
  16. GIS论坛网站推荐!
  17. TIA WinCC Unified入门经典
  18. 集成ci jenkins_使用jenkins fastlane第1 2部分将ci cd集成到多个环境中
  19. 生活小目标、GTD时间管理、习惯追踪法
  20. 【DDD】三个火枪手原则和两个披萨原则

热门文章

  1. Obsidian笔记最新版本的功能Callouts,提升方便性和美观程度
  2. 面试专题-电商项目面试篇
  3. (附源码)springboot物联网智能管理平台 毕业设计 2111120
  4. 五彩缤纷建网页(4)背景与字体的搭配经验
  5. 趋势 |「酸性设计」到底有多酷?
  6. nginx: [warn] conflicting server name “xxx“ on 0.0.0.0:80解决
  7. excel的简单操作
  8. Android 解决65536
  9. 哪位有没有reportbuilder的教程?共享一下。万分感谢!
  10. Android websocket闪退,退出手机浏览器,websocket会自动关闭,不是长持续吗