当前位置:   article > 正文

Python爬虫学习(一)使用Requests和正则表达式爬取简单网页_使用requests、正则表达式和文件操作爬取并保存“百度贴吧”某帖子全部内容。

使用requests、正则表达式和文件操作爬取并保存“百度贴吧”某帖子全部内容。

1.概述

使用Requests库和正则表达式爬取猫眼电影TOP100中的电影信息,包括电影名称、主演、上映时间、评分、图片等信息。然后将获取的信息保存到文本文件。

2.网页分析

要爬取的网页为猫眼电影TOP100 http://maoyan.com/board/4
网页页面如下所示:
猫眼TOP100
看一下页面的显示规律是怎样的,一页是显示10部电影名称。第二页的url和内容如下所示:url为:http://maoyan.com/board/4?offset=10
可以看出和第一页的url的主要差别为后面的offset,要抓取后面的网页的内容,只要在url后面加上相应的offset参数就可以了。
第二页

3.请求网页

首先请求一个页面,通过requests中的get方法,请求网页。

# 获取单个页面
def get_one_page(url):
    try:
        # 添加头部信息
        headers = {
   
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36'
        }
        response = requests.get(url, headers=headers)
        # 进行状态码判断,是否正确读取到网页
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        return None
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

测试是否成功获取到网页的页面信息。

def main():
    url = 'http://maoyan.com/board/4'
    html = get_one_page(url)
    print(html)
  • 1
  • 2
  • 3
  • 4

3.正则表达式

获取到网页的信息之后,就需要用正则表达式来解析网页,抓取我们所需要的信息;打开浏览器的审查元素功能,查看网页的源码,查找我们需要抓取的信息在哪个位置。
TOP100源码
以第一个电影为例:分析源码。可以看到我们所需要的信息都包含在下面的html代码中。

    <dd>
    <i class="board-index board-index-1">1</i>
    <a href="/films/1203" title="霸王别姬" class="image-link" data-act="boarditem-click" data-val="{movieId:1203}">
    <img src
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/763132
推荐阅读
相关标签
  

闽ICP备14008679号