Python爬虫 您所在的位置:网站首页 豆瓣Top150 Python爬虫

Python爬虫

#Python爬虫| 来源: 网络整理| 查看: 265

说在前头:

本次仅仅只是记录使用Python网络爬虫爬取豆瓣top250排行榜榜单的内容,爬取其它网页同理,可能爬取难度不同,但步骤类似。 注意:建议把 html 文件先爬取到本地保存,再从本地读取 html 进行后面的数据解析和保存操作,因为频繁访问同一个页面,可能被网站判定为异常访问而拒绝该IP访问资源,连切换为真实浏览器访问都可能会受限。

 

准备工作:

  本次使用豆瓣top250网址:https://movie.douban.com/top250?start=

 

主要步骤:

爬取网页 服务器返回给我们的是一个html文件,然后浏览器解析服务器返回的文件,通过解析呈现出我们平时看到的精彩网页内容,我们这一步骤要拿的,就是这个服务器返回发给我们的东西 首页的网址是:https://movie.douban.com/top250 或 https://movie.douban.com/top250?start= 点击第二页的网址是:https://movie.douban.com/top250?start=25&filter= 同理第三页的网址是:https://movie.douban.com/top250?start=50&filter= 不用管filter过滤器,可以发现规律,第page页的 start=25*(page-1) baseurl = 'https://movie.douban.com/top250?start='  , 然后通过循环让字符串拼接 url = baseurl + str(i) i = 0, 25, 50, 75 ...... 就可以获取 top250 其它页的内容 借助 urllib.request 获取 html,伪装成真实浏览器的报头,不然豆瓣会返回 418错误(我是茶壶) 获取html后保存在本地,最好保存在本地,避免每次都访问,因为频繁访问top250有可能被豆瓣标记为异常访问

 

解析数据 解析保存的html文件,内容都在html文件中,我们要想办法把所需内容所在的标签块找出来,并根据规则找到所需的内容所在位置,把内容提取出来 结束beautifulSoup解析标签块,再结合re正则表达式提取所需的内容 将获取的内容存入列表或者类对象中

 

保存数据 前面已经解析数据并保存在了列表或者对象之中,变量释放空间就没了,我们要做的是把东西保存在本地的文件中 保存获取的内容到本地text,执行文本读取操作 或者excel,借助xlwt包写入excel,借助xlrd包读取excel

 

完整代码:

# -*- coding = utf-8 -*- # 解析网页 from bs4 import BeautifulSoup as bf # 正则表达式 import re # Excel表格操作 import xlwt # 获取URL得到html文件 import urllib.request as req # 设置单独全局变量,如需更加规范,也可以将电影信息封装成一个class类 比如 class Movie: ... # 电影名称 find_name = re.compile(r'(.*?)') # 电影播放地址链接 find_link = re.compile(r'') # 电影封面的地址链接,re.S让换行符包含在字符中 find_imgSrc = re.compile(r'


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有