帮我用python写一个爬虫,在网页上搜索用户输入的内容并将网页转为PDF保存在桌面
时间: 2024-06-10 10:10:54 浏览: 14
由于本文所涉及的内容需要爬取网站的数据,因此需要遵守相关法律法规,不得进行非法爬取,否则后果自负。
本文提供的代码仅供学习参考,请勿用于非法用途。
以下是一个简单的爬虫代码,用于在百度搜索用户输入的关键词,并将搜索结果的第一个页面转为PDF格式保存在桌面。
首先,需要安装selenium和pdfkit两个Python库,可以使用以下命令进行安装:
```
pip install selenium
pip install pdfkit
```
然后,需要下载Chrome浏览器和对应版本的ChromeDriver,并将ChromeDriver的路径添加到系统环境变量中。
接下来,是完整的Python代码:
```python
import os
import time
import pdfkit
from selenium import webdriver
# 获取用户输入的关键词
keyword = input("请输入要搜索的关键词:")
# 启动Chrome浏览器
options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
# 在百度搜索关键词
driver.get("https://www.baidu.com")
input_box = driver.find_element_by_id("kw")
input_box.send_keys(keyword)
input_box.submit()
# 等待搜索结果加载完成
time.sleep(2)
# 获取搜索结果页面的HTML代码
html = driver.page_source
# 将HTML代码保存为PDF文件
pdf_file = os.path.join(os.path.expanduser("~"), "Desktop", f"{keyword}.pdf")
pdfkit.from_string(html, pdf_file)
# 关闭浏览器
driver.quit()
print(f"搜索结果已保存为PDF文件:{pdf_file}")
```
代码解析:
1. 第1行,导入所需的Python库。
2. 第4行,获取用户输入的关键词。
3. 第7-10行,启动Chrome浏览器,并在无头模式下打开百度页面。
4. 第13-15行,在百度搜索框中输入关键词,并提交搜索请求。
5. 第18行,等待2秒钟,等待搜索结果加载完成。
6. 第21行,获取搜索结果页面的HTML代码。
7. 第24-26行,将HTML代码保存为PDF文件,并保存在桌面上。
8. 第29行,关闭浏览器。
9. 第31行,输出保存的PDF文件路径。
运行以上代码,即可在命令行中输入要搜索的关键词,程序会自动在百度中搜索,并将搜索结果的第一个页面保存为PDF文件,保存在桌面上。