Python的开源爬虫工具很多,以下是一些比较常用的爬虫工具及简单的使用方法和源码示例:
BeautifulSoup 是 Python 语言最常用的 HTML 解析库之一。它可以快速解析 HTML 文件,方便我们从中提取需要的信息。以下是一个示例:
from bs4 import BeautifulSoup
import requests
url = 'https://www.python.org/'
response = requests.get(url)
# 解析 html 内容
soup = BeautifulSoup(response.text)
# 输出所有的链接
for link in soup.find_all('a'):
print(link.get('href'))
Scrapy 是一个非常强大的 Python 爬虫框架,可以让我们快速构建爬虫。以下是一个简单的示例:
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['https://www.python.org/']
def parse(self, response):
# 解析 html 内容
for link in response.css('a::attr(href)').getall():
yield {
'link': link
}
Selenium 是一个用于自动化测试的工具,可以模拟用户操作,可以用于爬取异步加载的网页。以下是一个简单的示例:
from selenium import webdriver
# 创建浏览器对象
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.python.org/')
# 解析 html 内容
for link in driver.find_elements_by_css_selector('a'):
print(link.get_attribute('href'))
# 关闭浏览器
driver.quit()
Requests-HTML 是一个基于 requests 的库,在处理 HTML 的同时使用了一些诸如 JavaScript 渲染的额外功能。以下是一个示例:
from requests_html import HTMLSession
session = HTMLSession()
response = session.get('https://www.python.org/')
# 解析 html 内容
for link in response.html.find('a'):
print(link.absolute_links)
以上是一些常用的 Python 爬虫工具及简单的使用方法和示例代码。