python程序2:网页爬虫

网页爬虫是一种程序,它可以模拟人类浏览器的行为,向目标网站发送请求,获取网页内容,再通过解析网页内容提取有用信息。这个过程就像我们在浏览器中打开一个网页,然后查看网页的内容一样。

为了实现这个过程,我们需要使用一些工具。其中一个常用的工具是 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 True
    except:
        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):
        break
    else:
        print('URL无效,请重新输入。')

while True:
    type = input('请输入需要爬取的类型:')
    response = requests.get(url)
    html = response.text
    if check_type(html, type):
        break
    else:
        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文件就可。

发表评论

zh_CNChinese