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

项目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(self):
28         html = urlopen(self.cur_url)
29         bsObj = BeautifulSoup(html,"html.parser")
30         datas = bsObj.findAll("span", {"class": "title"})
31         for data in datas:
32             str = data.get_text()
33             if "\xa0/\xa0" not in str:
34                 self.datas.append(str)
35
36     def output(self):
37         num = 1
38         for data in self.datas:
39             print("TOP"+str(num)+": " +data)
40             num+=1
41
42 if __name__ == "__main__":
43     print("豆瓣电影TOP250:python抓取")
44     myspider = doubanSpider()
45     myspider.claw()

时间: 2024-12-21 09:09:06

python爬虫练习1:豆瓣电影TOP250的相关文章

Python小爬虫——抓取豆瓣电影Top250数据

写LeetCode太累了,偶尔练习一下Python,写个小爬虫玩一玩~ 确定URL格式 先找到豆瓣电影TOP250任意一页URL地址的格式,如第一页为:https://movie.douban.com/top250?start=0&filter=,分析该地址: https:// 代表资源传输协议使用https协议: movie.douban.com/top250 是豆瓣的二级域名,指向豆瓣服务器: /top250 是服务器的某个资源: start=0&filter= 是该URL的两个参数,

Python爬虫爬取豆瓣电影名称和链接,分别存入txt,excel和数据库

前提条件是python操作excel和数据库的环境配置是完整的,这个需要在python中安装导入相关依赖包: 实现的具体代码如下: #!/usr/bin/python# -*- coding: utf-8 -*- import urllibimport urllib2import sysimport reimport sslimport openpyxlimport MySQLdbimport time #from bs4 import BeautifulSoup #修改系统默认编码为utf-8

python爬虫抓取豆瓣电影

抓取电影名称以及评分,并排序(代码丑炸) 1 import urllib 2 import re 3 from bs4 import BeautifulSoup 4 def get(p): 5 t=0 6 k=1 7 n=1 8 book_score=[] 9 book_a=[] 10 while t<=p: 11 print "正在获取第%d页..."%k 12 k=k+1 13 url="https://movie.douban.com/tag/%s?start=%

python爬虫爬取豆瓣电影前250名电影及评分(requests+pyquery)

写了两个版本: 1.面向过程版本: import requests from pyquery import PyQuery as pq url='https://movie.douban.com/top250' moves=[] def sec(item): return item[1] for i in range(0,255,25): content=requests.get(url+"?start="+str(i))#?start=25 for movie in pq(conte

运维学python之爬虫高级篇(五)scrapy爬取豆瓣电影TOP250

对于scrapy我们前面已经介绍了简单的应用,今天我们用一个完整的例子,爬取豆瓣电影TOP250来做一个小的练习,把scrapy阶段做一个总结. 1 环境配置 语言:Python 3.6.1 IDE: Pycharm 浏览器:firefox 爬虫框架:Scrapy 1.5.0 操作系统:Windows 10 家庭中文版 2 爬取前分析 2.1 需要保存的数据 首先确定我们要获取的内容,在items中定义字段,来将非结构化数据生成结构化数据,获取的内容主要包括:排名.电影名称.得分.评论人数.如下

[感想]Web crawler with Python - 03.豆瓣电影TOP250

按照大牛的步骤简单地爬了豆瓣电影top250.过程感想记录一下. 教程链接:在这里 爬虫写完以后,一直出现错误 AttributeError: 'NoneType' object has no attribute 'find' #'nonetype'的对象没有属性发现 出错原因:调用对象是个None,然后调用出错.出错行原本是在第10页没有下一页的链接时候,判断soup.find('span', attrs={'class', 'next'}).find('a')  这句话的结果来选择返回结果,

python获取豆瓣电影TOP250的所有电影的相关信息

参考文档:https://weread.qq.com/web/reader/37132a705e2b2f37196c138k98f3284021498f137082c2e 说明:我才接触网络爬虫,在看<python网络爬虫入门到实践>一书时,作者写了个实例获取豆瓣电影TOP250的所有电影的电影名称,我在此基础上进行了更进一步的改进,获取了所有的相关信息,并用表格将这些信息保存下来. 相关知识: 网络爬虫分为三个步骤: 第一步:伪装为浏览器访问:第二步:解析网页代码:第三步:存储数据. (1)

Node.js学习 爬虫下载豆瓣电影top250图片

利用node.js实现爬虫,并且爬取豆瓣电影top250的列表和图片. 1 什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎 2 什么是爬虫 (又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 3

练习:一只豆瓣电影TOP250的爬虫

练习:一只豆瓣电影TOP250爬虫 练习:一只豆瓣电影TOP250爬虫 ①创建project ②编辑items.py import scrapy class DoubanmovieItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() rank = scrapy.Field() title = scrapy.Field() link = scrapy.Field() rate