Web爬虫是一种自动化程序,可以从互联网上的网站中提取数据。Python可以通过链接抓取网站,将网络数据从HTML源代码中提取出来。
下面是Python通过链接抓取网站的基本步骤:
pip install requests beautifulsoup4
可以安装这两个模块。python
import requests
from bs4 import BeautifulSoup
python
url = "https://example.com"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
BeautifulSoup(html, 'html.parser')
将HTML源代码解析为一个文档对象。python
soup = BeautifulSoup(response.content, 'html.parser')
find_all()
函数来选择需要的标签。python
links = []
for a in soup.find_all('a', href=True):
links.append(a['href'])
python
with open('links.txt', 'w') as f:
for link in links:
f.write(link + '\n')
下面是一个提取网站标题的示例。程序首先获取网站的HTML源代码,然后使用BeautifulSoup库解析HTML文档,并从title标签中提取出标题。
import requests
from bs4 import BeautifulSoup
url = "https://www.example.com"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
title = soup.find('title').text
print(title)
以下程序可以提取指定网站中所有图片的链接。
import requests
from bs4 import BeautifulSoup
url = "https://www.example.com"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
images = []
for img in soup.find_all('img'):
images.append(img.get('src'))
for url in images:
print(url)
使用Python通过链接抓取网站可以方便快速地获取网络数据。使用请求头可以避免被网站服务器识别为爬虫,从而避免被封禁。BeautifulSoup提供了非常方便的解析工具来提取HTML文档中的数据。
本文链接:http://task.lmcjl.com/news/14876.html