python爬虫通过网页爬取
时间: 2024-12-27 13:23:47 浏览: 14
### 使用Python编写的Web爬虫教程
#### 发送HTTP请求并获取网页内容
为了发起HTTP请求并获取网页的内容,可以利用`requests`库。这个库简化了与Web服务器交互的过程,允许开发者轻松地发送GET/POST请求,并处理响应的数据。
```python
import requests
url = 'http://example.com'
response = requests.get(url)
print(response.status_code) # 打印状态码以确认请求成功与否
html_content = response.text # 获取网页源代码作为字符串返回
```
这段代码展示了如何使用`requests.get()`方法来访问指定URL,并打印出HTTP响应的状态码以及所获得的HTML文本[^1]。
#### 解析HTML文档结构
一旦获得了完整的HTML文件之后,则需要对其进行解析以便于进一步操作。BeautifulSoup是一个非常适合这项工作的第三方库,它可以配合lxml解析器一起工作,从而让遍历树形结构变得更加容易。
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'lxml')
title_tag = soup.title.string # 提取<title>标签内的文字
links = [a['href'] for a in soup.find_all('a', href=True)] # 收集所有的超链接地址
```
这里定义了一个名为`soup`的对象用于表示整个DOM树;接着分别演示了两种常见的任务——读取页面标题和收集所有内部链接[^2]。
#### 存储抓取到的信息
当完成了数据采集阶段的工作以后,通常还需要考虑怎样保存这些信息。最直接的方式就是将其写入本地磁盘上的纯文本文件或是CSV表格里:
```python
with open('output.txt', mode='w') as file:
file.write(f'Title: {title_tag}\nLinks:\n' + '\n'.join(links))
```
上述片段说明了打开一个新文件并将之前提取出来的标题及链接列表逐行记录下来的方法。
阅读全文