python爬虫代码简单示例
当涉及到爬虫时,Python 中有很多库可供选择。其中,requests
用于发送 HTTP 请求,BeautifulSoup
用于解析 HTML,而 lxml
也是一个用于解析 XML 和 HTML 的库。
pythonimport requests
from bs4 import BeautifulSoup
# 目标网页的URL
url = 'https://example.com'
# 发送HTTP请求获取网页内容
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(response.text, 'lxml')
# 在这里可以根据网页的结构提取需要的信息
# 处理动态内容: 上面的示例仅处理静态HTML。如果网页使用JavaScript进行动态加载内容,你可能需要使用Selenium等工具,或者直接分析XHR请求来获取动态内容。
处理登录: 如果目标网站需要用户登录才能访问特定页面,你可能需要发送登录请求,获取并保存会话Cookie,然后在后续请求中使用该Cookie。
设置请求头: 有些网站可能需要特定的User-Agent头部信息,或其他定制的HTTP头部。你可以在请求中设置这些头部信息以模拟浏览器请求。
IP封锁: 有些网站可能会封锁频繁请求的IP地址。你可能需要考虑使用代理IP池,或者采取其他措施来规避封锁。
异常处理: 在进行网络请求时,网络连接可能会失败或服务器可能会返回错误。确保你的代码有适当的异常处理机制,以应对这些情况。
pythonfrom selenium import webdriver
from selenium.webdriver.common.by import By
url = 'https://example.com'
# 使用Selenium打开浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get(url)
# 等待页面加载完成
driver.implicitly_wait(10)
# 使用XPath提取所有链接
links = driver.find_elements(By.XPATH, '//a')
# 打印链接
for link in links:
print(link.get_attribute('href'))
# 关闭浏览器
driver.quit()
这是一个基本的示例,Selenium可以模拟用户在浏览器中的操作,允许你获取JavaScript生成的内容。使用Selenium需要安装相应的浏览器驱动。
在进行爬虫活动时,请始终