网页爬虫是一种程序,它可以模拟人类浏览器的行为,向目标网站发送请求,获取网页内容,再通过解析网页内容提取有用信息。这个过程就像我们在浏览器中打开一个网页,然后查看网页的内容一样。
为了实现这个过程,我们需要使用一些工具。其中一个常用的工具是 requests
模块。这个模块可以帮助我们发送 HTTP 请求,并且自动处理连接池、认证、Cookies 等方面的细节。我们可以使用这个模块发送 GET、POST、PUT、DELETE 等请求,并且可以自定义请求头、请求体等信息。
举个例子,如果我们想要从一个电商网站上爬取商品信息,我们可以使用 requests
模块向这个网站发送请求,获取网页内容。然后,我们可以使用一些技术(比如正则表达式或者解析库)来解析网页内容,提取出我们需要的商品信息(比如商品名称、价格、评价等等)。最后,我们可以将这些信息保存到本地文件或者数据库中,以便后续分析和使用。
总之,网页爬虫和 requests
模块是实现网页爬取的两个重要工具。它们可以帮助我们获取网页内容,并且提取有用信息。
对于在windows怎么部署怎么运行python尚不熟悉的站友请移步:这里
import requests
from bs4 import BeautifulSoup
# 检查URL是否合法
def check_url(url):try:response = requests.get(url)response.raise_for_status()return Trueexcept:return False
# 检查爬取类型是否合法
def check_type(html, type):soup = BeautifulSoup(html, 'html.parser')items = soup.select(type)return len(items) > 0
# 提示用户输入要爬取的网站和需要爬取的类型
while True:url = input('请输入要爬取的网站URL:')if check_url(url):breakelse:print('URL无效,请重新输入。')
while True:type = input('请输入需要爬取的类型:')response = requests.get(url)html = response.textif check_type(html, type):breakelse:print('爬取类型无效,请重新输入。')
# 发送请求,获取网页内容
response = requests.get(url)
html = response.text
# 解析网页内容,获取需要爬取的内容
soup = BeautifulSoup(html, 'html.parser')
items = soup.select(type)
# 将结果输出到文本文件
filename = 'result.txt'
with open(filename, 'w', encoding='utf-8') as f:for item in items:f.write(str(item) + '\n')
print(f'结果已保存到{filename}文件中。')
按上面代码测试输出。
能够自动检测URL和爬取的html类型是否正确,错误后会返回重新输入。爬取类型包括:div/li/a/link/meta/img/p/ul,等等,在当文件夹下生成文本文件result.txt,我们打开看一下。
简单的实现原理就是上面啦,然后就用pyinstaller封装生成exe文件就可。