Python简单爬虫案例

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 用pyhton从网页中爬取数据,是比较常用的爬虫方式。网页一般由html编写,里面包含大量的标签,我们所需的内容都包含在这些标签之中,除了对python的基础语法有了解之外,还要对html的结构以及标签选择有简单的认知,下面就用爬取fl小说网的案例带大家进入爬虫的世界。

用pyhton从网页中爬取数据,是比较常用的爬虫方式。网页一般由html编写,里面包含大量的标签,我们所需的内容都包含在这些标签之中,除了对python的基础语法有了解之外,还要对html的结构以及标签选择有简单的认知,下面就用爬取fl小说网的案例带大家进入爬虫的世界。

实现步骤

1.导入依赖

网页内容依赖

import requests,如没有下载依赖,在terminal处输出pip install requests,系统会自动导入依赖。

解析内容依赖

常用的有BeautifulSoup、parsel、re等等。


与上面步骤一样,如没有依赖,则在terminal处导入依赖。


导入BeautifulSoup依赖

pip install bs4

导入pasel依赖

pip install parsel

使用依赖

from bs4 import BeautifulSoup
import requests
import parsel
import re

2.获取数据

简单的获取网页,网页文本

response = requests.get(url).text

对于很多网站可能需要用户身份登录,此时用headers伪装,此内容可以在浏览器f12获得

headers = {
    'Cookie': 'cookie,非真实的',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36'
}

headers = {
    'Host': 'www.qidian.com',
    'Connection': 'keep-alive',
    'Pragma': 'no-cache',
    'Cache-Control': 'no-cache',
    'sec-ch-ua': '"Google Chrome";v="125", "Chromium";v="125", "Not.A/Brand";v="24"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-Mode': 'navigate'
}

伪装后获取网页数据

response = requests.get(url=url,headers=headers).get.text

甚至还有些跟SSL证书相关,还需设置proxies

proxies = {
    'http': 'http://127.0.0.1:9000',
    'https': 'http://127.0.0.1:9000'
}
response = requests.get(url=url,headers=headers, proxies=proxies).get.text

3.解析数据

数据的解析有几种方式,比如xpath,css, re。


css顾名思义,就是html标签解析方式了。


re是正则表达式解析。

4.写入文件

with open(titleName + '.txt', mode='w', encoding='utf-8') as f:
    f.write(content)

open函数打开文件IO,with函数让你不用手动关闭IO流,类似Java中Try catch模块中try()引入IO流。


第一个函数为文件名,mode为输入模式,encoding为编码,还有更多的参数,可以自行研究。


write为写入文件。

完整案例

import requests
import parsel


link = '小说起始地址,法律原因不给出具体的'
link_data = requests.get(url=link).text
link_selector = parsel.Selector(link_data)
href = link_selector.css('.DivTr a::attr(href)').getall()
for index in href:
    url = f'https:{index}'
    print(url)
    response = requests.get(url, headers)

    html_data = response.text
    selector = parsel.Selector(html_data)
    title = selector.css('.c_l_title h1::text').get()
    content_list = selector.css('div.noveContent p::text').getall()
    content = '\n'.join(content_list)
    with open(title + '.txt', mode='w', encoding='utf-8') as f:
        f.write(content)

以上案例可以获取fl小说网的免费章节,那么付费章节呢?


付费章节是照片形式的存在,找到照片然后用百度云计算解析照片的文字即可,爬取付费内容是违法行为,这部分代码不能提供。

相关文章
|
6天前
|
数据采集 XML API
Python 爬虫数据抓取(10):LXML
Python 爬虫数据抓取(10):LXML
16 1
|
2天前
|
数据采集 存储 API
在信息时代,Python爬虫用于自动化网络数据采集,提高效率。
【7月更文挑战第5天】在信息时代,Python爬虫用于自动化网络数据采集,提高效率。基本概念包括发送HTTP请求、解析HTML、存储数据及异常处理。常用库有requests(发送请求)和BeautifulSoup(解析HTML)。基本流程:导入库,发送GET请求,解析网页提取数据,存储结果,并处理异常。应用案例涉及抓取新闻、商品信息等。
11 2
|
2天前
|
数据采集 机器学习/深度学习 数据可视化
完整的Python数据分析流程案例解析-数据科学项目实战
【7月更文挑战第5天】这是一个Python数据分析项目的概览,涵盖了从CSV数据加载到模型评估的步骤:获取数据、预处理(处理缺失值和异常值、转换数据)、数据探索(可视化和统计分析)、模型选择(线性回归)、训练与评估、优化,以及结果的可视化和解释。此流程展示了理论与实践的结合在解决实际问题中的应用。
18 1
|
8天前
|
数据采集 前端开发 Java
Python简单爬虫案例
用pyhton从网页中爬取数据,是比较常用的爬虫方式。网页一般由html编写,里面包含大量的标签,我们所需的内容都包含在这些标签之中,除了对python的基础语法有了解之外,还要对html的结构以及标签选择有简单的认知,下面就用爬取fl小说网的案例带大家进入爬虫的世界。
|
8天前
|
数据采集 Python
半小时速通Python爬虫!GitHub开源的Python爬虫入门教程
今天给小伙伴们带来了一篇详细介绍 Python 爬虫入门的教程,从实战出发,适合初学者。 小伙伴们只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。
|
8天前
|
数据采集 Python
半小时速通Python爬虫!GitHub开源的Python爬虫入门教程
今天给小伙伴们带来了一篇详细介绍 Python 爬虫入门的教程,从实战出发,适合初学者。 小伙伴们只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。
|
5天前
|
数据采集 存储 自然语言处理
Python爬虫与数据可视化:构建完整的数据采集与分析流程
Python爬虫与数据可视化:构建完整的数据采集与分析流程
|
5天前
|
数据采集 Python
揭秘淘宝商品信息:Python爬虫技术入门与实战指南
Python爬虫用于获取淘宝商品详情,依赖`requests`和`beautifulsoup4`库。安装这两个库后,定义函数`get_taobao_product_details`,发送GET请求模拟浏览器,解析HTML获取标题和价格。注意选择器需随页面结构更新,遵守爬虫政策,控制请求频率,处理异常,且数据只能用于合法目的。
|
16天前
|
数据采集 存储 JSON
Python网络爬虫教程概览
【6月更文挑战第21天】Python网络爬虫教程概览:安装requests和BeautifulSoup库抓取网页;使用HTTP GET请求获取HTML,解析标题;利用CSS选择器提取数据;处理异步内容可选Selenium;遵循爬虫策略,处理异常,尊重法律与网站规定。
24 1
|
12天前
|
数据采集 机器学习/深度学习 数据可视化
利用Python进行网络爬虫和数据抓取
在当今数字化时代,数据是无处不在的。从市场趋势到个人偏好,从社交媒体活动到商业智能,数据扮演着关键的角色。然而,访问、处理和利用数据并不总是轻而易举的。幸运的是,Python提供了一套强大而灵活的工具,使得网络爬虫和数据抓取成为可能。本文将深入探讨如何利用Python进行网络爬虫和数据抓取,为您打开数据世界的大门。