下面是一个简单的 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
函数解析数据。如果解析成功,我们会打印出每个页面的数据。
请注意,本程序仅供学习和参考使用,如果您使用爬虫程序进行商业用途,需要遵守相关法律法规,并确保不会侵犯其他网站的合法权益。
标签:函数,get,python,html,爬虫,url,详解,解析,页面 From: https://blog.51cto.com/u_16018896/8519055