首页 > 其他分享 >【爬虫】一次爬取某瓣top电影前250的学习记录

【爬虫】一次爬取某瓣top电影前250的学习记录

时间:2023-11-04 21:22:05浏览次数:31  
标签:format res top dic 爬取 某瓣 537.36 num re

先贴上爬取的脚本: import requests import re for i in range(1,11):     num=(i-1)*25     url=f"https://movie.douban.com/top250?start={num}&filter="     head={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"}#伪造请求头     res=requests.get(url,headers=head)
    #print(res.text)
    format=re.compile(r'<div class="item">.*?<span class="title">(?P<name>.*?)</span>',re.S)
    data=format.finditer(res.text)     for i in data:         dic=i.groupdict()         print(dic) 首先导入requests库,主要是对网站发起请求 然后就是re库,主要是在python中能够使用正则表达式匹配 url=f"https://movie.douban.com/top250?start={num}&filter=" 这边url中加上f是为了能识别num变量,主要是为了能识别多个网页 head={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"} 修改请求头,因为某瓣有反爬机制,不修改的,该请求头默认为python的标识,修改的请求头可在f12的netword数据中获取

该请求头随意修改就行,合理就行

 format=re.compile(r'<div class="item">.*?<span class="title">(?P<name>.*?)</span>',re.S) 这里是re的compile函数,可以写正则表达式为后续使用,re.S是为了匹配到换行符,因为.*?中的.是没办法匹配到换行符的,?P<name>,是将匹配到的数据存到name分组中 data=format.finditer(res.text) 进行正则匹配,finditer将匹配的数据存入迭代器,方便后面for循环   for i in data:         dic=i.groupdict()         print(dic)  这里的groupdict是将分组数据提取出来,是以字典的形式 测试结果如下:

标签:format,res,top,dic,爬取,某瓣,537.36,num,re
From: https://www.cnblogs.com/GGbomb/p/17809809.html

相关文章

  • 面试必刷TOP101:20、数组中的逆序对
    题目题解解法一:暴力法importjava.util.*;publicclassSolution{/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可***@paramnumsint整型一维数组*@returnint整型*/publicintInversePairs(in......
  • RandomPaintingOnABoard TopCoder - 12607
    AnoteabouttheconstraintsConstraintsindicateusthatthemaximumwidthandheightwillbe21.Thereisanotherconstraintthough:Themaximumtotalnumberofcellsis150.Thiscanhelpusbecauseitmeansthatthesmallerdimensionwillbeatmost1......
  • linux使用top命令java进程占用65%内存和160%CPU,是因为什么咋解决?
    Java进程占用大量内存和CPU的原因可能有多种,以下是一些可能的原因和解决方法:内存泄漏:Java应用程序可能存在内存泄漏,即未正确释放不再使用的内存。您可以使用Java内存分析工具(如VisualVM、MAT等)来检测和分析应用程序的内存使用情况,并查找潜在的内存泄漏问题。一旦发现内存泄漏,您可以......
  • 爬虫爬取到标签内容有时为空有时正常,请问怎么解决?
    当爬虫爬取标签内容时,遇到有时为空有时正常的情况,可能是由于以下原因导致的:网站的动态内容:某些网站使用JavaScript来加载页面内容,爬虫在请求页面时可能无法获取到完整的HTML内容。这可能导致一些标签在某些时候为空。解决这个问题,你可以尝试使用Headless浏览器(如Puppeteer)来模拟浏......
  • Rabbitmq消息队列:Topic话题模式简单应用
    一、生产者声明topic话题模式的交换机,分别发送几条消息到不同的路由key。packagetest.topic;importcom.rabbitmq.client.Channel;importcom.rabbitmq.client.Connection;importutils.RabbitmqConUtil;publicclassGive{//定义交换机privatefinals......
  • LINUX流量统计软件 iftop
    iftop 是一款实时流量统计工具,可以查看每个连接的实时速率。iftop 来自EPEL软件库,安装命令是:#yuminstall-yepel-release&&yuminstall-yiftop实时查看eth0网卡的各个连接和网速#iftop-nN-ieth0......
  • 面试必刷TOP101:19、寻找峰值
    题目题解如输入[2,4,1,2,7,8,4]时,会形成两个山峰,一个是索引为1,峰值为4的山峰,另一个是索引为5,峰值为8的山峰,如下图所示:importjava.util.*;publicclassSolution{/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可***@......
  • Docker desktop for win/windows Debug Mode: false/true | Trouble Shooting | diagn
    Eventually,usingthedocker-D-ldebugsettingfortheclientIhavefoundthelogoutputs(apparentlycurrentlytherearenodebuglevelmessagesimplementedasreported.docker-DinfoDebugModedocker-Dversiondocker-D-ldebugC:\Users\[u......
  • HookDeskTopWindowMsg
    .netwinform程序打开SaveFileDialog时,调试窗口显示这些信息,盲猜是对话框中的显示内容被第三方污染,比如图标,按钮的变化。HookDeskTopWindowMsg,Tencent\QQPCMgr\12.11.19357.218\QMInternalShellExt64.dllisnotexistssofa“App.exe”(Win32):已加载“C:\Windows\System32......
  • 修改token有效期工具 Another Redis Desktop Manager
     1、获取到redis的host和密码登录2、根据要使用的token查询出数据,修改TTL字段值未-1保存即可。 ......