Python函数集锦:网络操作与数据爬取
网络操作和数据爬取是Python中的两个常用领域。Python的网络操作可以让我们方便地进行各种网络请求,获取网络资源;数据爬取则可以让我们从网站上获取数据并进行分析,为我们提供更多信息。
下面是一些Python函数集锦,涉及网络操作和数据爬取。
1. requests库
requests库是Python中最常用的网络请求库,可以方便地进行GET、POST等常见的网络请求。
使用requests库的基本模式:
import requests response = requests.get(url)
其中,url是要请求的网址,response是响应对象,包含了请求成功后的所有信息。
示例:获取百度首页的HTML代码
import requests url = 'https://www.baidu.com/' response = requests.get(url) print(response.text)
2. BeautifulSoup库
BeautifulSoup库是Python中一个HTML/XML的解析库,可以方便地从HTML代码中提取所需要的信息。
使用BeautifulSoup库的基本模式:
from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'html.parser')
其中,html是要解析的HTML代码,soup是解析后的对象,可以从中提取所需的信息。
示例:从百度首页的HTML代码中提取所有的a标签的链接
import requests
from bs4 import BeautifulSoup
url = 'https://www.baidu.com/'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
a_tags = soup.find_all('a')
for tag in a_tags:
print(tag.get('href'))
3. re库
re库是Python中的正则表达式库,可以方便地在字符串中匹配指定的模式。
使用re库的基本模式:
import re match = re.search(pattern, string)
其中,pattern是要匹配的模式,string是要匹配的字符串,match是匹配对象,包含了匹配成功后的所有信息。
示例:从百度首页的HTML代码中提取所有以http或https开头的链接
import requests
import re
url = 'https://www.baidu.com/'
response = requests.get(url)
pattern = r'https?://.+'
matches = re.findall(pattern, response.text)
for match in matches:
print(match)
4. Selenium库
Selenium库是Python中一个模拟浏览器操作的库,可以方便地模拟用户在浏览器中的操作。
使用Selenium库的基本模式:
from selenium import webdriver browser = webdriver.Chrome() browser.get(url)
其中,url是要访问的网址。
示例:使用Selenium模拟登录知乎并获取个人信息
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.zhihu.com/signin')
browser.find_element_by_name('username').send_keys('your_username')
browser.find_element_by_name('password').send_keys('your_password')
browser.find_element_by_css_selector('.Button.SignFlow-submitButton').click()
browser.implicitly_wait(10)
browser.get('https://www.zhihu.com/people/username')
print(browser.page_source)
5. Pandas库
Pandas库是Python中的一个数据处理库,可以方便地对数据进行处理和分析。
使用Pandas库的基本模式:
import pandas as pd
df = pd.read_csv('data.csv')
其中,data.csv是要读取的数据文件,可以是CSV、Excel等格式。
示例:使用Pandas读取CSV文件并根据某个字段排序
import pandas as pd
df = pd.read_csv('data.csv')
sorted_df = df.sort_values(by='field')
print(sorted_df)
以上就是Python中一些常用的网络操作和数据爬取相关的函数和示例。当然,这只是一个入门,实际运用中还需要根据具体情况进行更灵活的选择和应用。
