Life, half is memory, half is to continue.
Python爬虫常用库
By Vincent. @2025.4.14
Python爬虫常用库

1. Requests

首先,咱们得聊聊Requests。这货简直就是爬虫界的瑞士军刀,功能强大,使用简单。你只需要几行代码,就能发出HTTP请求,获取你想要的数据。别小看这几行代码,它能帮你打开新世界的大门。

import requests

url = 'http://example.com'
response = requests.get(url)
print(response.text)

看到了吗?就这么几行,你就能拿到网页的源代码。当然,这只是个开始,Requests还能处理各种HTTP请求,比如POST、PUT、DELETE,还能处理cookies、headers,简直就是爬虫界的全能王。

2.BeautifulSoup

拿到了网页源代码,下一步就是解析。这时候,BeautifulSoup就派上用场了。这货能帮你从网页中提取出你想要的数据,不管是文本、图片还是链接,都能轻松搞定。

from bs4 import BeautifulSoup

soup = BeautifulSoup(response.text, 'html.parser')
title = soup.find('title').text
print(title)

看,这就是网页的标题。BeautifulSoup就像一把锋利的刀,能帮你从一堆乱麻中找到那根线头。

3. re

有时候,网页的数据不是那么规整,这时候就需要用到正则表达式了。Python的re模块就是干这个的。它能帮你匹配、查找、替换那些复杂的字符串模式。

import re

phone = re.findall(r'\d{3}-\d{3}-\d{4}', text)
print(phone)

看到了吗?这就是正则表达式的威力,它能帮你从一堆看似无序的字符串中,找到你想要的电话号码。

4. aiohttp

如果你要爬的网站数据量巨大,或者你想要提高爬取效率,那么异步请求就显得尤为重要了。aiohttp就是处理异步HTTP请求的黑马。它能帮你在等待一个请求的同时,发起另一个请求,大大提高了效率。

import aiohttp
import asyncio

async def fetch(session, url):
    async with session.get(url) as response:
        return await response.text()

async def main():
    async with aiohttp.ClientSession() as session:
        html = await fetch(session, 'http://example.com')
        print(html)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

这就是异步请求的魅力,它能帮你在爬虫的世界里,跑得更快,爬得更远。

5. Pandas

爬取的数据,总得有个地方存吧。这时候,Pandas就派上用场了。它能帮你把数据存储到DataFrame中,方便你进行后续的数据分析和处理。

import pandas as pd

data = {'Name': ['Alice', 'Bob'], 'Age': [24, 27]}
df = pd.DataFrame(data)
print(df)

看,这就是Pandas的魔力,它能帮你把数据整理得井井有条。

6. Scrapy

最后,不得不提的就是Scrapy。这货功能强大,使用简单。它是一个快速的高级爬虫框架,用于抓取网站并从页面中提取结构化的数据。

import scrapy

class MySpider(scrapy.Spider):
    name = 'example'
    start_urls = ['http://example.com']

    def parse(self, response):
        for h2 in response.xpath('//h2'):
            yield {'title': h2.xpath('.//text()').get()}这就是Scrapy的力量,它能帮你构建一个完整的爬虫项目
扫码分享收藏
扫码分享收藏