python爬虫 读取文件
时间: 2023-11-08 16:18:06 浏览: 34
你可以使用Python的爬虫库来读取文件。以下是一个简单的示例代码,演示如何使用`requests`库来获取网页内容并保存为文件:
```python
import requests
url = 'http://example.com' # 替换为你要爬取的网页地址
# 发送HTTP GET请求
response = requests.get(url)
if response.status_code == 200: # 如果请求成功
content = response.text # 获取网页内容
with open('output.html', 'w', encoding='utf-8') as f:
f.write(content)
print('文件保存成功')
else:
print('请求失败')
```
在上面的示例中,我们使用`requests`库发送了一个GET请求,并获取到了网页的内容,然后将内容保存到名为`output.html`的文件中。
请记得替换`url`为你要爬取的网页地址,并根据需要修改保存文件的路径和文件名。
相关问题
python 爬虫读取pdf文件
要爬取 PDF 文件,需要使用 Python 的第三方库 PyPDF2。
首先需要使用 `requests` 库下载 PDF 文件:
```python
import requests
url = 'https://example.com/example.pdf'
response = requests.get(url)
with open('example.pdf', 'wb') as f:
f.write(response.content)
```
然后使用 PyPDF2 库来读取 PDF 文件:
```python
import PyPDF2
with open('example.pdf', 'rb') as f:
pdf_reader = PyPDF2.PdfFileReader(f)
num_pages = pdf_reader.getNumPages()
for i in range(num_pages):
page = pdf_reader.getPage(i)
text = page.extractText()
print(text)
```
这里的代码将 PDF 文件中每一页的文本提取出来,并打印到控制台上。你可以根据自己的需求对这些文本进行处理。
python爬虫读取图片
要使用Python爬虫读取图片,你可以使用requests库发送HTTP请求来获取图片的二进制数据,并将其保存到本地文件中。以下是一个简单的示例代码:
```python
import requests
def download_image(url, filepath):
response = requests.get(url)
if response.status_code == 200:
with open(filepath, 'wb') as file:
file.write(response.content)
print("图片下载成功")
else:
print("图片下载失败")
# 调用示例
image_url = "https://example.com/image.jpg"
file_path = "path/to/save/image.jpg"
download_image(image_url, file_path)
```
在上面的代码中,我们使用`requests.get()`方法来发送GET请求获取图片的二进制数据。接下来,我们将二进制数据写入指定的文件路径中,即可实现图片的下载。如果状态码为200,则下载成功,否则下载失败。
请注意,为了成功下载图片,你可能需要使用适当的请求头来模拟浏览器的行为,以避免被网站识别为爬虫。你可以通过使用`requests`库的`add_header()`方法来添加用户代理头(User-Agent)来实现。例如:
```python
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
}
response = requests.get(url, headers=headers)
```
这样设置了用户代理头后,请求将会模拟一个常见的浏览器请求,提高爬取的成功率。
所以,如果你想要爬取图片,可以使用`requests`库发送HTTP请求,并设置合适的请求头来模拟浏览器行为。<span class="em">1</span><span class="em">2</span><span class="em">3</span>