爬虫豆瓣电影250

爬虫第一天

一直都想去学爬虫,因为爬虫可以爬很多很多好玩的东西,比如好看的图片。但是之前总是三天打鱼两天晒网。现在特地来好好地系统学习一下。也算是巩固一下之前的python。不至于荒废了。我可不想只当一个前端程序员。
现在手头上有一个网易云课堂的21天学分布式爬虫的教学视频。之前在京东还买了一本电子书,叫《Python 网络爬虫从入门到实践》,现在开始看起来。然后还有本网上下载的电子书关于Scrapy爬虫的,后面再看吧。
今天(应该是包括昨天晚上)主要是看了书的前三章。练习了爬豆瓣电影TOP250的电影名。我的Python3运行环境是用anaconda3(64bit)的Jupyter notebook,我的浏览器是Chrome。代码如下:

import requests
from bs4 import BeautifulSoup
def get_movies():
    headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36', #设置请求头,这个头可以从Chrome 按F12查看network,再一次刷新页面的第一个文件左键单击就可以从右边的Header下面的Requeste Header看到,可以直接复制
    'Host': 'movie.douban.com' #设置主机名
    }
    movie_list = []
    for i in range(0,10): # 这里需要对每一个页面的地址进行分析才能想到的循环操作
        link = 'https://movie.douban.com/top250?start=' + str(i * 25)
        r = requests.get(link, headers=headers, timeout= 10)
        print (str(i+1),"页响应状态码:", r.status_code) #打印响应码
        
        soup = BeautifulSoup(r.text, "lxml") # 这一部分不是很清楚
        div_list = soup.find_all('div', class_='hd')
        for each in div_list:
            movie = each.a.span.text.strip()
            movie_list.append(movie)
    return movie_list       
print (get_movies())

with open('豆瓣电影TOP250.txt', "w") as f: # 对内容进行保存
    for a in get_movies():
        f.write(a+'\n')
    f.close() # 

看了教学视频主要内容如下:

  • 爬虫基本流程
  • http(s)协议
  • url 详解
  • 常用请求方法
  • 请求头常见参数
  • 常见响应状态码

接下来是Python3标准库urllib库中的常见函数:

  • request.urlopen 返回网页响应内容
  • request.urlretrieve 下载文件
  • parser.urlencode 对中文等内容进行编码
  • parser.parse_qs 对上面的进行解码
  • parser.urlparse/parser.urlsplit 分割url结构

以上就是昨夜今晨的学习内容。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 11 月 3 日,Spring 技术的拥有者 Pivotal 在北京举办 SpringOne Tour 技术峰会,...
    77e0844c43db阅读 294评论 0 0
  • 内容来源:2018 年 8 月 7 日,VMware大中华区原厂高级技术讲师史峻在“VMware直播分享 第二期”...
    麦兜的刀阅读 3,504评论 0 4
  • 快餐阅读的自媒体时代,如果一篇文章没有惊艳的标题就吸引不了读者打开文章,但是如果读者打开了你的文章,开头没有做到引...
    power女神阅读 15,731评论 1 3
  • 第一:需求分析能力。能够分析判断单个需求的合理性和价值,但是还不能较好地理解多个需求组合起来后的产品架构思路。这是...
    xRichard阅读 1,637评论 0 3
  • 2016年9月份,郑州的房价都在涨啊涨,万科沉寂了两三年的房子,突然就从8000到12000了,一个四环上名不见经...
    罂粟姐姐阅读 1,184评论 16 15