10个用于爬虫的Python函数
1. requests库中的get方法:
该方法可用于获取网页的HTML内容,从而进行数据提取和爬取。
例如:
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.text)
2. BeautifulSoup库中的find方法:
该方法可用于获取HTML标签中指定属性值的数据。
例如:
from bs4 import BeautifulSoup
html = '''<html><body><div id="test">Hello World!</div></body></html>'''
soup = BeautifulSoup(html, 'html.parser')
data = soup.find('div', {'id': 'test'}).text
print(data)
3. re模块中的compile方法:
该方法可用于编译正则表达式,并返回一个正则表达式对象,从而方便对HTML内容中的数据进行提取。
例如:
import re
pattern = re.compile(r'<div class="content">(.+?)</div>', re.S)
html = '''<div class="content">Hello World!</div>'''
data = re.findall(pattern, html)[0]
print(data)
4. json模块中的loads方法:
该方法可用于将JSON格式的数据转换为Python的字典或列表类型。
例如:
import json
json_str = '{"name": "Jack", "age": 18}'
data = json.loads(json_str)
print(data['name'])
5. os库中的mkdir方法:
该方法可用于创建新文件夹。
例如:
import os
path = '/Users/test'
os.mkdir(path)
6. time模块中的sleep方法:
该方法可用于让程序暂停一段时间,防止爬取速度过快。
例如:
import time
time.sleep(1)
7. random模块中的choice方法:
该方法可用于从列表或字符串等序列中随机选择一个元素。
例如:
import random
data_list = ['apple', 'banana', 'orange']
result = random.choice(data_list)
print(result)
8. requests库中的post方法:
该方法可用于向网站提交POST请求,并带上数据参数。
例如:
import requests
url = 'https://www.baidu.com/search'
data = {'keyword': 'Python'}
response = requests.post(url, data)
print(response.text)
9. logging库中的basicConfig方法:
该方法可用于配置程序的日志输出。
例如:
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a debug message')
10. selenium库中的webdriver方法:
该方法可用于开启一个浏览器窗口,从而对网页进行模拟操作。
例如:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
search_input = driver.find_element_by_id('kw')
search_input.send_keys('Python')
search_btn = driver.find_element_by_id('su')
search_btn.click()
以上便是10个常用的Python爬虫函数,这些函数通常被用于实现数据爬取、数据处理和数据存储。
