利用正则表达式获取豆瓣TOP250电影的英文名、港台名、导演、主演、上映年份、电影分类以及评分
唐松编《python网络爬虫从入门到实践》第47页3.4.3自我实践题
全部代码为原创代码
完整代码如下:
import requests
import reheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36'}
info_lists = []def get_info(url):res = requests.get(url,headers=headers)filmnames = re.findall('<a href=".*?">.*?<span class="title">(.*?)</span>', res.text, re.S)Englishnames = re.findall('<span class="title">.nbsp;/.nbsp;(.*?)</span>',res.text,re.S)Hongkongnames= re.findall('<span class="other">.nbsp;/.nbsp;(.*?)</span>',res.text,re.S)levels = re.findall('导演:(.*?).nbsp;.nbsp;.nbsp;主演:.*?',res.text,re.S)comments= re.findall('<span class="inq">(.*?)</span>',res.text,re.S)scores = re.findall('<span class="rating_num" property="v:average">(.*?)</span>',res.text,re.S)for filmname,Englishname,Hongkongname,level,comment,score in zip(filmnames,Englishnames, Hongkongnames,levels,comments,scores):info = {'filmname':filmname,'Englishname':Englishname,'Hongkongname':Hongkongname,'level':level,'comment':comment,'score':score}info_lists.append(info)
if __name__ == '__main__':urls = ['https://movie.douban.com/top250?start=' + str(i) +'&filter='.format(str(i)) for i in range(0,250,25)]for url in urls:get_info(url)for info_list in info_lists:f = open(r'D:\douban.txt','a+')try:f.write(info_list['filmname']+'\n')f.write(info_list['Englishname']+'\n')f.write(info_list['Hongkongname']+'\n')f.write(info_list['level'] + '\n')f.write(info_list['comment'] + '\n')f.write(info_list['score'] + '\n\n')f.close()except UnicodeEncodeError:passprint(info_list)
打开txt:
利用正则表达式获取豆瓣TOP250电影的英文名、港台名、导演、主演、上映年份、电影分类以及评分相关推荐
- python 网络爬虫 1.2 获取豆瓣TOP250电影的中英文名、港台名、导演、上映年份、电影分类以及评分,将数据存入文档。
题目: 获取豆瓣TOP250电影的中英文名.港台名.导演.上映年份.电影分类以及评分,将数据存入文档. 代码: import codecs import csv import refrom reque ...
- C# 利用正则表达式获取文本中的https网址并替换新的对应的值,微信小程序播放腾讯视频
后台用KindEditor传了好几个视频地址,需要在微信小程序播放,复文本框写的内容是保存在数据库的一个字段的,就像下面这样,像这小程序播放,需要解析除真正的视频地址,所有需要获取里面的两个视频地址, ...
- java中利用正则表达式获取a标签
// 设置新闻内容notice.setContent(editorValue);Matcher m = Pattern.compile("<a[^>]*>([^<]* ...
- python爬虫之通过xpath获取豆瓣最新上映电影的海报
0.目录 1.分析页面 2.初步代码 3.问题排解 4.下载代码 5.总结 1.分析页面 关于xpath网上有许多的教程了,关于xpath的介绍和语法都不在这里赘述,本篇主要讲解如何用xpath爬取豆 ...
- 爬取豆瓣Top250电影
爬取豆瓣Top250电影数据一直是爬虫小白的入门练手项目,下面就来分享一下自己的爬取过程. 开始之前,先简单写一下需求和实现思路. 需求: 爬取豆瓣电影Top250的数据,数据包含排名.电影名称.导演 ...
- Python获取TOP250电影的英文名、港台名、导演、主演、上映年份、电影分类及评分
<Python网络爬虫:从入门到实践>3.4.3自我实践题: 获取豆瓣网上TOP250电影的英文名.港台名.导演.主演.上映年份.电影分类及评分. 学习嘛,就费了点劲自己试了一下,挺耽误时 ...
- 简单的PHP爬虫,获取豆瓣正在热映电影列表
(这是网安实验室IMiss小组第一轮笔试题的第三题) 题目要求: 请编写简单的爬虫程序,爬取豆瓣电影(https://movie.douban.com/)下"正 在热映"的电影名单 ...
- 爬虫——豆瓣Top250
使用requset库和bs4解析,最后保存为csv文件 import requests from bs4 import BeautifulSoup import pandas as pd import ...
- java正则表达式获取指定两个字符串之间内容
xml解析利用正则表达式获取指定两个字符串之间内容 在遇到解析复杂xml的时候,想到大家所想到的都是利用dom4j作为首发工具,但是当遇到层次很多,较为复杂,我们难道还需要从根节点一层一层的解析下去吗 ...
最新文章
- WPF TreeView HierarchicalDataTemplate
- 关于Map迭代循环,key和value的顺序问题
- vim将修改内容复制多次
- python 深度 视差 计算_OpenCV-Python教程:49.立体图像的深度图
- Android 文件的存储和加载
- 深度学习优化算法入门:二、动量、RMSProp、Adam
- 麒麟OS新版本,老国产平台机器都装不了,情何以堪?
- Sqlserver添加或修改字段
- 浅谈腾讯云IM接入方式(java后端)
- python出现unexpected indent_Python、unexpected indent错误解决方法
- 中企海外周报 | 哈弗F7x性能版在俄罗斯上市;徐工首家海外银行落户巴西
- Latex002 | 详细教程:LaTeX 编译器哪个好?——如何在 Visual Studio Code 中全流程编写 LaTeX(上篇)
- Flutter实现京东淘宝电商商品详情页效果
- 寒江独钓 Windows内核安全编程
- 大数据学习路线(完整详细版)
- Keras loss函数
- 机器人的自述作文_机器人的自述作文
- FT232RL-REEL全隔离原理图,带I/O保护,防电流倒灌等
- GB9706.1-2020安规三项之漏电流测试方法
- Github使用教程【转】