![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
strive try hard
不要三天打鱼两天晒网
展开
-
spider_review-爬虫复习1.0
Python破解验证码实现登录的几个方法import ioimport warningsimport easyocrfrom PIL import Imagefrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditionsfrom selenium.webdriver.support.wait原创 2021-08-24 20:34:53 · 146 阅读 · 0 评论 -
spider_review-爬虫复习
spider_reviewimport requestssession = requests.Session()session.verify = Falsesession.headers.update({ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'})res原创 2021-08-23 20:21:37 · 90 阅读 · 0 评论 -
day8-爬虫实战
爬虫实战多线程和多进程总结import timedef func1(num): time.sleep(3) print(f'子线程任务{num}')# 方案一:直接使用多线程 - 用于需要同时执行的任务个数确定并且量小(比如,一两个任务)from threading import Thread# 1. 直接使用Thread# t = Thread(target=func1, args=(1,))# t.start()# # join中的timeout是设置最长原创 2021-08-20 17:53:42 · 166 阅读 · 0 评论 -
day7-多线程和多进程
多线程和多进程线程队列from queue import Queue# queue模块中的队列,只能保存一般数据或者多线程中产生的数据(多用于多线程,自带线程安全属性),但是不能用来存储多进程中产生的数据。# 队列数据结构:是容器,先进先出if __name__ == '__main__': # 1. 队列基本用法 # 1) 创建队列对象: Queue() q = Queue() # 2) 添加数据(进): 队列对象.put(数据) q.put(100)原创 2021-08-18 19:12:53 · 96 阅读 · 0 评论 -
day6-多线程和多进程
多线程和多进程多线程import timefrom datetime import datetimefrom threading import Thread, current_thread# 程序默认都是单线程(这个默认线程又叫主线程,其他的线程都叫子线程)# Thread类的对象就是线程对象。程序需要多少个子线程,就创建多少个Thread的对象def download(name): print(f'{name}开始下载:{datetime.now()}') print(原创 2021-08-17 20:23:57 · 74 阅读 · 0 评论 -
day5-xpath和多线程
xpath和xml数据格式# 绝对路径:html/body/div/a# 相对路径:./a(../div/a)数据格式from lxml import etree# 1. 专业术语"""树:整个html或xml结构节点:html中的每个标签,xml中标签就是节点根节点:树的第一个节点,html的根节点就是html标签属性:节点属性(html中就是标签属性)"""# 2.xml数据格式# json数据和xml数据是两种通用的数据格式,用于不同语言之间进行数据交流"""将一个超原创 2021-08-16 21:55:46 · 69 阅读 · 0 评论 -
day4-selenuim和xpath解析
前进后退和初级选项卡from selenium.webdriver import Chromeimport time# ==============1.前进和后退 ================# b = Chrome()# b.get('https://www.baidu.com')# time.sleep(1)# b.get('https://www.runoob.com')# time.sleep(1)# b.get('https://movie.douban.com/top25原创 2021-08-13 19:29:10 · 122 阅读 · 0 评论 -
day3-代理和selenium
代理和IP的使用import requests# 1. 获取蘑菇代理中的代理IPdef get_ip(): response = requests.get('http://piping.mogumiao.com/proxy/api/get_ip_bs?appKey=775206edf3dc4329ba04568b75a66a30&count=4&expiryDate=0&format=2&newLine=3') if response.text[0]原创 2021-08-13 19:07:50 · 98 阅读 · 0 评论 -
day2-requests和bs4
day2-requests和bs4requests使用方法# requests:python基于http协议进行网络请求的第三方库import requests"""1. 发送请求requests.get(url, *, headers, params, proxies) - 发送get请求requests.post(url, *, headers, params, proxies) - 发送post请求参数:url - 请求地址(一个网站的网址、接口的地址原创 2021-08-11 20:15:11 · 534 阅读 · 0 评论