python 爬虫实例代码

爬虫是通过编程自动获取互联网上的信息的过程。在Python中,有许多用于编写爬虫的库,其中最流行的是Beautiful Soup和Requests。

python
import requests from bs4 import BeautifulSoup def simple_web_crawler(url): # 发送HTTP请求获取网页内容 response = requests.get(url) # 检查请求是否成功 if response.status_code == 200: # 使用Beautiful Soup解析网页内容 soup = BeautifulSoup(response.text, 'html.parser') # 获取网页标题 title = soup.title.string print(f"网页标题:{title}\n") # 获取所有链接 links = soup.find_all('a') print("所有链接:") for link in links: href = link.get('href') if href: print(href) else: print(f"请求失败,状态码:{response.status_code}") # 替换成你想爬取的网页URL url_to_crawl = 'https://example.com' simple_web_crawler(url_to_crawl)

此外,了解并

robots.txt 规则: 某些网站在根目录下提供了robots.txt文件,该文件规定了哪些页面可以被爬取,哪些不可以。在编写爬虫时,应该

请求头设置: 有些网站对于爬虫会有反爬虫机制,可以通过设置请求头来模拟浏览器行为,减少被识别为爬虫的概率。例如,你可以设置User-Agent头部来伪装成浏览器。

python
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'} response = requests.get(url, headers=headers)

数据存储: 获取到的数据可以保存到本地文件或者数据库中,以备后续分析使用。常见的数据存储格式有文本文件、CSV文件、JSON文件等。

异常处理: 在实际爬取中,经常会遇到各种异常情况,如网络请求失败、页面解析错误等。在代码中加入适当的异常处理,以增强程序的稳定性。

爬取速度控制: 避免对目标服务器造成过大的负担,可以通过设置适当的爬取速度或者加入延迟来规避被封禁的风险。不过,一些网站可能会在robots.txt中明确规定了爬取速度的限制。

反爬虫策略: 有些网站为了防止被爬取,可能会采取一些反爬虫策略,如验证码、动态加载等。对于这类情况,可能需要使用更高级的技术和工具来应对,例如使用Selenium等自动化测试工具。