python爬虫代码简单示例

当涉及到爬虫时,Python 中有很多库可供选择。其中,requests 用于发送 HTTP 请求,BeautifulSoup 用于解析 HTML,而 lxml 也是一个用于解析 XML 和 HTML 的库。

python
import 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池,或者采取其他措施来规避封锁。

异常处理: 在进行网络请求时,网络连接可能会失败或服务器可能会返回错误。确保你的代码有适当的异常处理机制,以应对这些情况。

python
from 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需要安装相应的浏览器驱动。

在进行爬虫活动时,请始终

标签