Ⅰ python怎么抓取豆瓣电影url
#!/usr/bin/env python2.7# encoding=utf-8"""
爬取豆瓣电影TOP250 - 完整示例代码
"""import codecsimport requestsfrom bs4 import BeautifulSoup
DOWNLOAD_URL = 'httn.com/top250/'def download_page(url):
return requests.get(url, headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'
}).contentdef parse_html(html):
soup = BeautifulSoup(html)
movie_list_soup = soup.find('ol', attrs={'class': 'grid_view'})
movie_name_list = [] for movie_li in movie_list_soup.find_all('li'):
detail = movie_li.find('div', attrs={'class': 'hd'})
movie_name = detail.find('span', attrs={'class': 'title'}).getText()
movie_name_list.append(movie_name)
next_page = soup.find('span', attrs={'class': 'next'}).find('a') if next_page: return movie_name_list, DOWNLOAD_URL + next_page['href'] return movie_name_list, Nonedef main():
url = DOWNLOAD_URL with codecs.open('movies', 'wb', encoding='utf-8') as fp: while url:
html = download_page(url)
movies, url = parse_html(html)
fp.write(u'{movies}\n'.format(movies='\n'.join(movies)))if __name__ == '__main__':
main()0414243444546474849505152
简单说明下,在目录下会生成一个文档存放电影名。python2
Ⅱ python爬虫抓取电影top20排名怎么写
初步接触python爬虫(其实python也是才起步),发现一段代码研究了一下,觉得还比较有用处,Mark下。
上代码:
#!/usr/bin/python#coding=utf-8#Author: Andrew_liu#mender:cy"""
一个简单的Python爬虫, 用于抓取豆瓣电影Top前100的电影的名称
Anthor: Andrew_liu
mender:cy
Version: 0.0.2
Date: 2017-03-02
Language: Python2.7.12
Editor: JetBrains PyCharm 4.5.4
"""import stringimport reimport urllib2import timeclass DouBanSpider(object) :
"""类的简要说明
主要用于抓取豆瓣Top100的电影名称
Attributes:
page: 用于表示当前所处的抓取页面
cur_url: 用于表示当前争取抓取页面的url
datas: 存储处理好的抓取到的电影名称
_top_num: 用于记录当前的top号码
"""
def __init__(self):
self.page = 1
self.cur_url = "h0?start={page}&filter=&type="
self.datas = []
self._top_num = 1
print u"豆瓣电影爬虫准备就绪, 准备爬取数据..."
def get_page(self, cur_page):
"""
根据当前页码爬取网页HTML
Args:
cur_page: 表示当前所抓取的网站页码
Returns:
返回抓取到整个页面的HTML(unicode编码)
Raises:
URLError:url引发的异常
"""
url = self.cur_url try:
my_page = urllib2.urlopen(url.format(page=(cur_page - 1) * 25)).read().decode("utf-8") except urllib2.URLError, e: if hasattr(e, "code"): print "The server couldn't fulfill the request."
print "Error code: %s" % e.code elif hasattr(e, "reason"): print "We failed to reach a server. Please check your url and read the Reason"
print "Reason: %s" % e.reason return my_page def find_title(self, my_page):
"""
通过返回的整个网页HTML, 正则匹配前100的电影名称
Args:
my_page: 传入页面的HTML文本用于正则匹配
"""
temp_data = []
movie_items = re.findall(r'<span.*?class="title">(.*?)</span>', my_page, re.S) for index, item in enumerate(movie_items): if item.find(" ") == -1:
temp_data.append("Top" + str(self._top_num) + " " + item)
self._top_num += 1
self.datas.extend(temp_data) def start_spider(self):
"""
爬虫入口, 并控制爬虫抓取页面的范围
"""
while self.page <= 4:
my_page = self.get_page(self.page)
self.find_title(my_page)
self.page += 1def main():
print u"""
###############################
一个简单的豆瓣电影前100爬虫
Author: Andrew_liu
mender: cy
Version: 0.0.2
Date: 2017-03-02
###############################
"""
my_spider = DouBanSpider()
my_spider.start_spider()
fobj = open('/data/moxiaokai/HelloWorld/cyTest/blogcode/top_move.txt', 'w+') for item in my_spider.datas: print item
fobj.write(item.encode("utf-8")+'
')
time.sleep(0.1) print u"豆瓣爬虫爬取完成"if __name__ == '__main__':
main()
运行结果:
Ⅲ python 爬虫求教
python爬虫,requests非常好用,建议使用。匹配结果使用re正则,列:
#-*-coding:utf-8-*-
importre
str1="""
<spanclass="title">寻梦环游记</span>
...
<spanclass="rating_num"property="v:average">9.0</span>
"""
title=re.search(r'<spanclass="title">(.*?)</span>',str1)
iftitle:
print(title.group(1))
rating=re.search(r'<spanclass="rating_num"property="v:average">(.*?)</span>',str1)
ifrating:
print(rating.group(1))
Ⅳ Python豆瓣电影《肖申克的救赎》评论爬取
先看效果图:
地址:( https://movie.douban.com/subject/1292052/comments?sort=time&status=P)
爬取前1w条评论
存储成txt文档
数据预处理
中文分词
统计top10的高频词
可视化展示高频词
根据词频生成词云
审核评论
================================================================
配置准备
中文分词需要jieba
词云绘制需要wordcloud
可视化展示中需要的中文字体
网上公开资源中找一个中文停用词表
根据分词结果自己制作新增词表
准备一张词云背景图(附加项,不做要求)
paddlehub配置
#安装jieba分词和词云
pip install jieba
pip install wordcloud
#安装paddle
pip install --upgrade PaddlePaddle
#安装模型
#hub install porn_detection_lstm==1.1.0
pip install --upgrade paddlehub
pip install numpy
#安装Beautifulsoup
pip install BeautifulSoup4
Github地址: https://github.com/mikite/python_sp_shawshank
有可能遇到的问题:
1.UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 1: invalid continuation byte
解决方法:
1.不使用urlLib换做requests
2.去掉请求头中的 'Accept-Encoding': 'gzip, deflate, br'
3.返回值reponse 转字符串指定编码utf-8
# 'Accept-Encoding': 'gzip, deflate, br',
2.关于cookie
解决方法:
1.去豆瓣请求头中复制cookie设置到请求头中
'Cookie': 'bid=WD6_t6hVqgM'
3.请求返回418的问题
解决方案模拟设置请求头,设置user-agent
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36',
4.使用beautifulsoup获取不到评论
解决方法:
第一步:指定解析参数为'lxml'
soupComment = BeautifulSoup(html, 'lxml')
第二步:
findAll方法指定css文件的class名
print('网页内容:', soupComment.prettify())
comments = soupComment.findAll(class_='short')
点击获取源码
Ⅳ .利用python获得豆瓣电影前30部电影的中文片名,排名,导演,主演,上映时间
热门频道
首页
博客
研修院
VIP
APP
问答
下载
社区
推荐频道
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP
python 网络爬虫 1.2 获取豆瓣TOP250电影的中英文名、港台名、导演、上映年份、电影分类以及评分,将数据存入文档。 原创
2021-07-19 01:03:15
2点赞
zynaln
码龄8年
关注
题目:
获取豆瓣TOP250电影的中英文名、港台名、导演、上映年份、电影分类以及评分,将数据存入文档。
代码:
输出结果:
文章知识点与官方知识档案匹配
Python入门技能树网络爬虫urllib
201761 人正在系统学习中
打开CSDN APP,看更多技术内容
最新发布 用python爬取豆瓣影评及影片信息(评论时间、用户ID、评论内容)
用python爬取豆瓣影评及影片信息(评论时间、用户ID、评论内容)
继续访问
python
写评论
7
14
2
踩
分享
Ⅵ Python爬虫实战,Python多线程抓取5千多部最新电影下载链接
利用Python多线程爬了5000多部最新电影下载链接,废话不多说~
让我们愉快地开始吧~
Python版本: 3.6.4
相关模块:
requests模块;
re模块;
csv模块;
以及一些Python自带的模块。
安装Python并添加到环境变量,pip安装需要的相关模块即可。
拿到链接之后,接下来就是继续访问这些链接,然后拿到电影的下载链接
但是这里还是有很多的小细节,例如我们需要拿到电影的总页数,其次这么多的页面,一个线程不知道要跑到什么时候,所以我们首先先拿到总页码,然后用多线程来进行任务的分配
我们首先先拿到总页码,然后用多线程来进行任务的分配
总页数其实我们用re正则来获取
爬取的内容存取到csv,也可以写个函数来存取
开启4个进程来下载链接
您学废了吗?最后祝大家天天进步!!学习Python最重要的就是心态。我们在学习过程中必然会遇到很多难题,可能自己想破脑袋都无法解决。这都是正常的,千万别急着否定自己,怀疑自己。如果大家在刚开始学习中遇到困难,想找一个python学习交流环境,可以加入我们,领取学习资料,一起讨论,会节约很多时间,减少很多遇到的难题。
Ⅶ Python爬虫之《电影天堂》电影详情+下载地址爬取
纪念自学Python以来,自己成功写出的第一个爬虫程序......
Ⅷ Python爬虫实战(1)requests爬取豆瓣电影TOP250
爬取时间:2020/11/25
系统环境:Windows 10
所用工具:Jupyter NotebookPython 3.0
涉及的库:requestslxmlpandasmatplotlib
umpy
蛋肥想法: 先将电影名称、原名、评分、评价人数、分类信息从网站上爬取下来。
蛋肥想法: print数据列表后发现电影原名、分类信息等存在不需要的字符,需预先处理;同时因为后续想做一个豆瓣电影TOP250的维度分布图,而同一电影存在多个发行国家、类型(如“法国 美国 / 剧情 动作 犯罪”),为了简(偷)便(懒),这里均取第一个作为记入的数据;最后将数据保存为xlsx。
蛋肥想法: 蛋肥想知道在豆瓣电影TOP250中年份、国家、类型的维度数据,为了练手,使用刚才保存成xlsx的数据,并分别画成雷达图、柱形图、扇形图。
Ⅸ 怎样用python获取电影
实验室这段时间要采集电影的信息,给出了一个很大的数据集,数据集包含了4000多个电影名,需要我写一个爬虫来爬取电影名对应的电影信息。
其实在实际运作中,根本就不需要爬虫,只需要一点简单的Python基础就可以了。
前置需求:
Python3语法基础
HTTP网络基础
===================================
第一步,确定API的提供方。IMDb是最大的电影数据库,与其相对的,有一个OMDb的网站提供了API供使用。这家网站的API非常友好,易于使用。
第二步,确定网址的格式。
第三步,了解基本的Requests库的使用方法。