欢迎访问宙启技术站
智能推送

使用Python编写一个简单的Web爬虫

发布时间:2023-12-04 11:39:43

Python是一种功能强大的编程语言,非常适合编写Web爬虫。下面是一个简单的Web爬虫的Python代码,并提供了一个实际的例子:

import requests
from bs4 import BeautifulSoup

# 定义一个函数,用于获取指定URL的HTML内容
def get_html(url):
    response = requests.get(url)
    return response.text

# 定义一个函数,用于解析HTML内容,并提取感兴趣的信息
def parse_html(html):
    soup = BeautifulSoup(html, 'html.parser')
    
    # 示例:解析豆瓣电影TOP250的电影名称
    movie_names = []
    for item in soup.find_all('div', class_='hd'):
        movie_name = item.a.span.text
        movie_names.append(movie_name)
        
    return movie_names

# 定义一个函数,用于保存数据到文件
def save_data(data, filename):
    with open(filename, 'w', encoding='utf-8') as f:
        for item in data:
            f.write(item + '
')

# 主函数
def main():
    url = 'https://movie.douban.com/top250'
    html = get_html(url)
    movie_names = parse_html(html)
    save_data(movie_names, 'movies.txt')
    print('已保存数据到文件movies.txt')

if __name__ == '__main__':
    main()

上面的代码使用了requests库来发送请求获取HTML内容,使用了BeautifulSoup库来解析HTML内容。函数get_html接收一个URL作为参数,发送请求并返回HTML内容;函数parse_html接收一个HTML作为参数,使用BeautifulSoup解析HTML内容并提取豆瓣电影TOP250的电影名称;函数save_data接收数据和文件名作为参数,将数据保存到指定的文件中;主函数main则是程序的入口,依次调用上述函数并保存数据到文件。

运行以上代码后,会在当前目录下生成一个名为"movies.txt"的文件,保存了豆瓣电影TOP250的电影名称。

这是一个简单的Web爬虫的示例,实际的爬虫可以根据需要进行更复杂的操作,比如获取更多的数据、处理各种异常情况等。在爬取网站内容时,请务必遵守网站的爬虫策略,以免对网站造成不必要的压力和影响。