文章目录
Python网络数据采集
requests高级用法
"""
example01 - requests高级用法 ---> Session(会话)
Author: Lj~Asus
Date: 2021/8/23
"""
import requests
session = requests.Session()
session.verify = False
session.headers.update({
'User-Agent': '...'
})
resp = session.get('要获取的网址')
print(resp.status_code)
print(resp.text)
Selenium破解爬虫蜜罐
破解Selenium反爬最重要的一行代码
browser.execute_cdp_cmd(
‘Page.addScriptToEvaluateOnNewDocument’,
{
‘source’: ‘Object.defineProperty(navigator, “webdriver”, {get: () => undefined})’
}
)
"""
example03 - Selenium破解爬虫蜜罐
Author: Lj~Asus
Date: 2021/8/23
"""
from selenium import webdriver
browser = webdriver.Chrome('resources/chromedriver.exe')
# 设置取消测试环境
# browser.add_experimental_option('excludeSwitches', ['enable-automation'])
# 破解Selenium反爬最重要的一行代码
browser.execute_cdp_cmd(
'Page.addScriptToEvaluateOnNewDocument',
{
'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
}
)
browser.get('')
browser.implicitly_wait(10)
anchor = browser.find_element_by_css_selector('')
# 通过WebElement对象的is_displayed方法判定元素是否可见
# 注意∶不可见的超链接─般都不能访问,因为它极有可能是一个诱使爬虫访问的蜜罐链接
print(anchor.is_displayed())
print(anchor.size)
print(anchor.location)
光学文字识别
注意:在安装
easyocr
时,还会另外安装其他库,有1.7G左右,务必在网络好的时候安装
"""
example04 - 光学文字识别
Author: Lj~Asus
Date: 2021/8/23
"""
import warnings
import easyocr
# 去除警告
warnings.filterwarnings('ignore')
# 简体中文:ch_sim, 繁体中文:ch_tra, 英文和数字:en
reader = easyocr