Python 中用于网页爬虫的库有很多,这里列出一些常用的:
- Requests - 一个非常流行的 HTTP 库,用于发送网络请求。虽然它本身并不专门针对爬虫设计,但因为其简单易用而被广泛使用于获取网页内容。
import requests
response = requests.get('http://example.com')
print(response.text)
- BeautifulSoup - 从网页中提取信息的强大库。通常与 Requests 一起使用来解析和搜索 HTML 或 XML 文档。
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
print(soup.prettify())
- Scrapy - 一个完整的爬虫框架,适合构建复杂的爬虫项目。它不仅提供了处理 HTTP 请求的功能,还包括了数据抓取、解析以及存储等一整套解决方案。
# Scrapy 需要创建项目并定义 Spider 来工作,这里仅展示简单的示例
import scrapy
class ExampleSpider(scrapy.Spider):
name = 'example'
start_urls = ['http://example.com']
def parse(self, response):
self.log(response.body)
- Selenium - 主要用于自动化浏览器操作,对于那些需要 JavaScript 渲染才能显示内容的网站特别有用。您已经安装了这个库。
from selenium import webdriver
driver = webdriver.Firefox() # 或者其他浏览器
driver.get("http://www.example.com")
print(driver.page_source)
driver.quit()
- PyQuery - 类似于 jQuery 的 Python 实现,可以用来解析 HTML 文档并快速选取元素。
from pyquery import PyQuery as pq
d = pq('<html></html>')
print(d('html').text())
- lxml - 一个高性能的 XML/HTML 解析库,同时也支持 XPath 选择器,功能强大且速度较快。
每个库都有自己的特点和适用场景,请根据您的具体需求选择合适的工具。如果您打算开始一个较为简单的爬虫项目,Requests
和 BeautifulSoup
的组合可能是个不错的起点;如果面临更复杂的需求,则考虑使用 Scrapy
框架。