0
点赞
收藏
分享

微信扫一扫

python爬虫多个页面数据代码详解

伽马星系 2023-11-22 阅读 50

下面是一个简单的 Python 网页爬虫程序,可以用于爬取多个页面的数据:

import requests
from bs4 import BeautifulSoup

# 获取网页内容的函数
def get_html(url):
    try:
        r = requests.get(url)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""

# 解析页面内容的函数
def parse_html(html):
    soup = BeautifulSoup(html, "html.parser")
    # 这里可以通过查找 HTML 标签和属性来定位需要的数据
    data = soup.find_all("div", class_="data")
    return data

# 主函数
def main():
    # 需要爬取的页面 URL 列表
    url_list = ["http://www.example.com/page1.html",
                "http://www.example.com/page2.html",
                "http://www.example.com/page3.html"]
    # 遍历 URL 列表,爬取并解析页面数据
    for url in url_list:
        html = get_html(url)
        data = parse_html(html)
        # 处理数据
        for item in data:
            print(item)

if __name__ == "__main__":
    main()

在这个程序中,我们首先定义了一个 get_html 函数,用于获取指定 URL 的网页内容。该函数使用了 Python 的 requests 库发送 HTTP 请求,并调用 BeautifulSoup 库将 HTML 内容解析成 BeautifulSoup 对象。如果请求失败或解析出错,该函数会返回一个空字符串。

接着,我们定义了一个 parse_html 函数,用于解析 BeautifulSoup 对象,并提取需要的数据。在这个函数中,我们通过查找 HTML 标签和属性来定位需要的数据,然后返回一个包含这些数据的列表。

最后,我们定义了一个主函数 main,用于遍历需要爬取的页面 URL 列表,爬取并解析页面数据。在遍历过程中,我们调用 get_html 函数获取页面内容,然后调用 parse_html 函数解析数据。如果解析成功,我们会打印出每个页面的数据。

请注意,本程序仅供学习和参考使用,如果您使用爬虫程序进行商业用途,需要遵守相关法律法规,并确保不会侵犯其他网站的合法权益。

举报

相关推荐

0 条评论