iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >基础爬虫,谁学谁会,用requests、
  • 344
分享到

基础爬虫,谁学谁会,用requests、

爬虫谁会基础 2023-01-30 23:01:11 344人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

爬取豆瓣Top250电影的评分、海报、影评等数据!   本项目是爬虫中最基础的,最简单的一例; 后面会有利用爬虫框架来完成更高级、自动化的爬虫程序。   此项目过程是运用requests请求库来获取html,再用正则表达式来解析从中获取所

爬取豆瓣Top250电影的评分、海报、影评等数据!

  本项目爬虫中最基础的,最简单的一例;
后面会有利用爬虫框架来完成更高级、自动化的爬虫程序。
  此项目过程是运用requests请求库来获取html,再用正则表达式来解析从中获取所需数据。

话不多说,直接上代码,盘! (具体代码解释在代码旁边)

1.加载包,requests请求库,re是正则表达式的包,JSON是后面来把字典序列化的包;

#请求库:requests    解析工具:正则表达式
import requests
import re
import json
import time
2.用requests库通过url获取响应,得到html文本。
def get_one_page(url):
    #头部的定义,自己在网页中可以获取(网页右击检查,network中的header)
    headers={
        'User-Agent':'ozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWEBKit/605.1.15 (KHTML, like Gecko) Mobile/15E5216a QQ/7.5.5.426 V1_IPH_SQ_7.5.5_1_APP_A Pixel/1080 Core/UIWebView Device/Apple(iPhone 8Plus) Nettype/WIFI QBWebViewType/1'
        }
    response=requests.get(url,headers=headers)
    if response.status_code==200:  #只有status_code为200时才表示响应正确
        return response.text
    return None
3.用正则表达式从html中匹配出想要数据
def parse_one_page(html):
    #re.compile是把正则化字符串对象化,方便复用。
    pattern=re.compile('<li>.*?<em\sclass.*?>(.*?)</em>.*?<img.*? src="(.*?)".*?title">(.*?)<.*?<p class="">(.*?)</p>.*?rating_num.*?>(.*?)<.*?<span>(.*?)</span>.*?.*?inq">(.*?)<.*?</li>',re.S)
    items=re.findall(pattern,html)
    #列表形成字典(通过findall获取的数据是一条条记录,形成一个列表)
    
    for item in items:
        yield{'index':item[0],  #电影排名
              'image':item[1],  #电影海报
              'title':item[2],  #电影名称
              'actor':item[3],  #电影导演,主演
              'score':item[4],  #评分
              'people_num':item[5],  #多少人评价
              'evaluate':item[6]     #影评
                }
4.把获得的数据存入到txt文件当中去

def write_to_file(content):
    #创建或打开result.txt以追加的读写方式写入数据
    with open('result.txt','a',encoding='utf-8') as f:
        print(json.dumps(content,ensure_ascii=False))  #json.dumps()用于把字典序列化,方便写入txt文件
        f.write(json.dumps(content,ensure_ascii=False)+'\n')
5.通过改变url中start的值来实现换页,进行下一页的切换。
def main(start):
    #更换url中的start值来切换页面,具体更换的数值要更具实际情况而变
    url='https://movie.douban.com/top250?start='+str(start)+'&filter='
    html=get_one_page(url)
    for item in parse_one_page(html):
        write_to_file(item)
        
if __name__=='__main__':
    for i in range(10):
        start=i*25
        main(start)
        time.sleep(1)#防止请求过快被网页检测出来,休眠1秒

  本文所有代码复制可以直接运行欧!

--结束END--

本文标题: 基础爬虫,谁学谁会,用requests、

本文链接: https://www.lsjlt.com/news/181018.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基础爬虫,谁学谁会,用requests、
    爬取豆瓣Top250电影的评分、海报、影评等数据!   本项目是爬虫中最基础的,最简单的一例; 后面会有利用爬虫框架来完成更高级、自动化的爬虫程序。   此项目过程是运用requests请求库来获取html,再用正则表达式来解析从中获取所...
    99+
    2023-01-30
    爬虫 谁会 基础
  • 零基础学习Python爬虫
    目录爬虫为什么我们要使用爬虫爬虫准备工作爬虫项目讲解代码分析1.爬取网页2.逐一解析数据3.保存数据讲解我们的爬虫之前,先概述关于爬虫的简单概念(毕竟是零基础教程) 爬虫 网络爬虫(...
    99+
    2024-04-02
  • 零基础怎么学习Python爬虫
    本篇内容主要讲解“零基础怎么学习Python爬虫”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“零基础怎么学习Python爬虫”吧!  零基础如何学爬虫技术?对于迷茫的初学者来说,爬虫技术起步学习...
    99+
    2023-06-01
  • 学习爬虫必须学的基础知识
    数据的来源1)用户自行产生2)去第三方的公司购买数据3)去免费的数据网站下载数据4)人工收集数据5)爬虫获取2.什么是爬虫网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网...
    99+
    2023-06-02
  • Python爬虫学习之requests的使用教程
    目录requests库简介requests库安装1、pip命令安装2、下载代码进行安装requests库的使用发送请求get请求抓取二进制数据post请求POST请求的文件上传利用r...
    99+
    2024-04-02
  • 经验分享:0基础如何学Python、爬虫
    主要讲述转型的三个方面:web开发,爬虫,数据分析与人工智能 Python的发展主要有几个方向: 网络,爬虫,数据分析,测试,运维,人工智能等,要属当下最火的还是人工智能,好多人冲着人工智能的方向学python,其实人工智能听起来确实很高...
    99+
    2023-01-31
    爬虫 经验 基础
  • 零基础如何快速学习好Python网络爬虫
    Python网络爬虫上手很快,能够尽早入门,可是想精通确实是需求些时间,需求达到爬虫工程师的级别更是需求煞费苦心了,接下来共享的学习道路是针对小白或许学习Python网络爬虫不久的同伴们。 学习网络爬虫能够分三步走,如果你是大神,请直接绕...
    99+
    2023-01-31
    爬虫 快速 基础
  • Python爬虫基础之selenium库怎么用
    小编给大家分享一下Python爬虫基础之selenium库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、selenium简介官网总的来说: seleni...
    99+
    2023-06-15
  • 六个步骤学会使用Python爬虫爬取数据(爬虫爬取微博实战)
    用python的爬虫爬取数据真的很简单,只要掌握这六步就好,也不复杂。以前还以为爬虫很难,结果一上手,从初学到把东西爬下来,一个小时都不到就解决了。 Python爬虫六部曲 第一步:安装request...
    99+
    2023-09-10
    python 爬虫 python入门 python爬虫 python爬虫爬取网页数据
  • python爬虫框架Scrapy基本应用学习教程
    在正式编写爬虫案例前,先对 scrapy 进行一下系统的学习。 scrapy 安装与简单运行 使用命令 pip install scrapy 进行安装,成功之后,还需要随手收藏几个网...
    99+
    2024-04-02
  • 【100天精通python】Day43:python网络爬虫开发_爬虫基础(urlib库、Beautiful Soup库、使用代理+实战代码)
    目录 1 urlib 库 2 Beautiful Soup库 3 使用代理 3.1 代理种类 HTTP、HTTPS 和 SOCKS5 3.2 使用 urllib 和 requests 库使用代理 3.3 案例:自建代理池 4 实战 提取视频...
    99+
    2023-08-31
    python 爬虫 http
  • MySQL查询基础:学会使用“以”开头条件实现精准检索
    MySQL查询基础:学会使用“以”开头条件实现精准检索 在数据库查询中,经常会遇到需要根据某个字段的开头字符进行精准检索的情况。MySQL提供了许多条件操作符来帮助我们实现这样的查询需...
    99+
    2024-03-02
    mysql 查询条件 精准检索 iphone sql语句
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作