Python网络数据采集

本文介绍了Python的requests高级用法,包括使用Session管理会话,以及如何使用Selenium来破解爬虫蜜罐。同时,提到了光学文字识别技术,并展示了从网页上抠图的方法。此外,探讨了通过并发编程(多线程、多进程和线程池)以及分布式爬虫来加速数据采集,特别强调了多进程在计算密集型任务中的优势。最后,介绍了生成器在爬虫项目中的应用以及Scrapy框架的基本使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值