top250

python爬虫实践——爬取“豆瓣top250”

ε祈祈猫儿з 提交于 2020-01-03 04:14:09
1 ''' 2 主页: 3 https://movie.douban.com/top250 4 GET 5 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36 6 7 re正则: 8 # PS: 电影详情页url、图片链接、电影名称、导演、主演、电影上映时间、电影评分、评价人数、简介 9 <div class="item">.*?href="(.*?)">.*?src="(.*?)" class="">.*?<span class="title">(.*?)</span>.*?导演:(.*?).*?主演: (.*?) /...<br>(.*?)</p>.*?content="(.*?)"></span><span>(.*?)人评价.*?<span class="inq">(.*?)</span> 10 ''' 11 ''' 12 每一页URL: 13 第一页:https://movie.douban.com/top250 14 第二页:https://movie.douban.com/top250?start=25&filter= 15 第三页:https://movie.douban

Forward团队-爬虫豆瓣top250项目-项目进度

北城余情 提交于 2020-01-03 04:13:17
项目地址: https://github.com/xyhcq/top250 我们的项目是爬取豆瓣top250的电影的信息,在做这个项目前,我们都没有经验,完全是从零开始,过程中也遇到了很多困难,不过我们也乐于边学边做。 我们先分析了豆瓣top250的网页源码,发现都是html的代码,我们将我们需要的每组角标对应的信息都记录了下来,用于后续抓取。 top250中每部电影的网页基本都是这种格式: 1 https://movie.douban.com/top250?start= 递归增加的,所以我们后续也用得上 现阶段我们将程序的大体框架构建了出来,在打算进一步写的时候,我们发现,我们需要用到一些新知识:正则表达式以及beautifulsoup,然而悲剧的是,我们都不曾学过,所以组员们在最近都在学习正则表达式,幸运的是,老师最近的课上正好给我们讲了Python的正则表达式re模块的用法,解决了我们的一些问题,我们还需要学习beautifulsoup。 我们的程序框架是这样的: 1 # -*- coding:utf-8 -*- 2 import re 3 from bs4 import BeautifulSoup 4 5 def getHtml(): 6 # 用于获取豆瓣top250网站信息 7 pass 8 9 def getData(): 10 # 解析html,存储获取到的信息 11

python爬虫练习1:豆瓣电影TOP250

北城余情 提交于 2020-01-02 14:48:18
项目1:实现豆瓣电影TOP250标题爬取: 1 from urllib.request import urlopen 2 from bs4 import BeautifulSoup 3 import re 4 5 class doubanSpider(): 6 def __init__(self): 7 """ 8 初始化, 9 页码,URL,存储数据, 10 """ 11 self.page = 0; 12 # "http://movie.douban.com/top250?start=25&filter=&type=" 第二页 13 # 第一页 14 self.cur_url = "http://movie.douban.com/top250?start=0&filter=&type=" 15 self.datas = [] 16 17 def claw(self): 18 while self.page<10: 19 self.downloadURL() 20 self.updateURL() 21 self.output() 22 23 def updateURL(self): 24 self.page+=1 25 self.cur_url.replace("start=0","start="+str(self.page*25)) 26 27 def downloadURL

movies.js

夙愿已清 提交于 2019-12-11 20:24:04
var util = require('../../utils/util.js') var app = getApp(); Page({ // RESTFul API JSON // SOAP XML //粒度 不是 力度 data: { inTheaters: {}, comingSoon: {}, top250: {}, searchResult: {}, //九宫格 containerShow: true, // searchPanelShow: false, }, //https://api.douban.com/v2/movie/in_theaters?start=0&count=3 onLoad: function (event) { var inTheatersUrl = app.globalData.doubanBase +"/v2/movie/in_theaters" + "?start=1&count=6"; var comingSoonUrl = app.globalData.doubanBase +"/v2/movie/coming_soon" + "?start=1&count=6"; var top250Url = app.globalData.doubanBase +"/v2/movie/top250" + "?start=0&count=6";

用python爬取豆瓣电影Top 250

谁都会走 提交于 2019-12-08 17:32:29
  首先,打开豆瓣电影Top 250,然后进行网页分析。找到它的Host和User-agent,并保存下来。    然后,我们通过翻页,查看各页面的url,发现规律:   第一页: https://movie.douban.com/top250?start=0&filter=   第二页: https://movie.douban.com/top250?start=25&filter=   第三页: https://movie.douban.com/top250?start=50&filter=    第四页: https://movie.douban.com/top250?start=75&filter=   我们发现,每个页面的url都是https://movie.douban.com/top250?start= +25+ &filter=的规律。如此,就可以开始写代码: import requests from bs4 import BeautifulSoup def get_movie(): headers={ 'Host': 'movie.douban.com', 'User-Agent': 'Mozilla / 5.0(Windows NT 6.1;WOW64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 45.0

python 豆瓣top250电影的爬取

不羁的心 提交于 2019-12-04 20:46:22
我们先看一下豆瓣的robot.txt 然后我们查看top250的网页链接和源代码 通过对比不难发现网页间只是start数字发生了变化。 我们可以知道电影内容都存在ol标签下的 div class属性为hd下的a标签下的span标签的字符串 我利用的是BeautifulSoup库和requests库。 我们可以开始编写我们的爬虫了! import requests from bs4 import BeautifulSoup import bs4 url = "https://movie.douban.com/top250" index = 0 for i in range(10): url1 = "https://movie.douban.com/top250?" start = "start=" x = i*25 filter = "&filter=" url = url1 + start + str(x) + filter #print(url) r = requests.get(url) html = r.text soup = BeautifulSoup(html, "html.parser") for hd in soup.find_all(class_ = 'hd'): index = index+1 print("{:^10}\t{:^20}\t".format

python爬取静态网页数据:top250电影数据

匿名 (未验证) 提交于 2019-12-02 22:51:08
获取响应内容: 获取编码,状态(200成功,4xx客户端错误,5xx服务器相应错误),文本,等。 定制Request请求 传递URL参数 定制请求头 发送POST请求 POST请求发送表单信息,密码不显示在URL中,数据字典发送时自动编码为表单形式。 超时并抛出异常 r=requests.get('http://www.santostang.com/',timeout=0.11) 获取top250电影数据 转载请标明出处: python爬取静态网页数据:top250电影数据 文章来源: https://blog.csdn.net/fei347795790/article/details/91439583

python爬虫(一)爬取豆瓣电影Top250

谁说胖子不能爱 提交于 2019-11-30 13:37:48
提示:完整代码附在文末 一、需要的库 requests:获得网页请求 BeautifulSoup:处理数据,获得所需要的资料 二、爬取豆瓣电影Top250 爬取内容为:豆瓣评分前二百五位电影的名字、主演、以及该电影的简介。 首先先进入 豆瓣电影Top250 ,打开审查元素,找到所要爬取的电影名、主演以及电影主页的链接都在标签<div class="info">中间,如下图所示 对于电影名和导演主演这些信息是可以直接获取的: content_list中包含所有标签为<div class="info">的内容。 对于电影简介,则需要先进入该电影界面,再获取。而进入电影主页的链接就保存在div下第一个a标签的‘href’属性中,获取方法如下: 得到link之后,获取link内容,因为Top250中存在链接打不开的现象,所以我加了一个if语句,过滤掉无效的link。手动打开任意一个link,从审查元素中定位电影简介的位置,得知信息保存在<span property="v:summary">中,获取信息。 三、数据保存 我这里创建里一个文件夹,以每个电影名命名建立各自的TXT文件写入title、star、summary。 四、总结 这个实践时比较基础的,但在其中也发现了BeautifulSoup库定位时还是比较麻烦的,新手理解很快,但在实践中还是需要眼力的。 完整代码 : #encoding

python爬虫,爬取豆瓣电影信息

不羁岁月 提交于 2019-11-30 13:33:26
hhhhh开心,搞了一整天,查了不少python基础资料,终于完成了第一个最简单的爬虫:爬取了豆瓣top250电影的名字、评分、评分人数以及短评。 代码实现如下: #第一个最简单的爬虫 #爬取了豆瓣top250电影的名字、评分、评分人数以及短评 #观察豆瓣电影top250的网页可以发现: #电影信息在一个ol标签之内,该标签的class属性值为grid_view #1.电影的信息都在一个li标签里 #2.电影的电影名称在:第一个class属性值为hd的div标签下的 第一个 class属性值为title 的span标签里 #3.电影的评分在对应li标签里一个class属性值为rating_num 的span标签里 #4.电影的评价人数在 对应li标签 里的一个 class属性值为star 的div标签中 的最后一个数字 #5.电影的短评在 对应li标签 里的一个class属性值为inq的span标签里 #6.除第一页外,其他页的url:https://movie.douban.com/top250?start=X&filter= X的值为25-225的等差数列,差为25 from lxml import etree import requests import re def get_info(url): movie_info = '' #通过get访问页面 html =

第三天作业附带

懵懂的女人 提交于 2019-11-30 12:37:23
'''爬取豆瓣电影TOP250 第一页: https://movie.douban.com/top250?start=0&filter= 第二页: https://movie.douban.com/top250?start=25&filter= ''' import requests import re #拼接电影爬去地址url num = 0 for line in range(10): url = ' https://movie.douban.com/top250?start=%s&filter=' % (num,) num += 25 #print(url) #往拼接好的ulr地址发送请求获取数据 response = requests.get(url) # print(response.text) # 获取文本数据 # 3.解析并提取数据 # 电影名称、电影地址、电影评分、评价人数 # re.findall('匹配文本的规则', '匹配的文本', '匹配模式') # 解析提取文本数据中 想要的数据 #.*?: 过滤不想要的数据,直到想要的数据出现 # (.*?): 提取想要的数据 # 匹配规则 # <div class="item">.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?<span class=