
爬虫
爬虫
南星叨叨
这个作者很懒,什么都没留下…
展开
-
scrapy的分页(翻页处理)
import scrapyfrom bs4 import BeautifulSoupclass BookSpiderSpider(scrapy.Spider): name = 'book_spider' allowed_domains = ['17k.com'] start_urls = ['https://www.17k.com/all/book/2_0_0_0_0_0_0_0_1.html'] """ 后边会解释这个start_requests方法是肿么肥事 ""原创 2022-02-13 21:08:46 · 2338 阅读 · 0 评论 -
scrapy配置多条pipelines存储csv文件,存MySQL数据库
又是一篇干货很多的文章,我把代码都给记录下来了 ,算是笔记。首先是spider他这个导包这个真是蛋疼,pycharm会报错,这个要注意一下就行了,这个没啥玩意就是搞成item就行了先弄一个itemitemimport scrapyclass LotterySpiderItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() qihao = scrapy原创 2022-01-29 17:54:42 · 2689 阅读 · 0 评论 -
scrapy使用runner.py run 或 debug爬虫
之前我们运行scrapy爬虫,总是在命令行执行scrapy crawl 蜘蛛名字这种运行是没问题的,但是无法使用run 、debug所以新方法来了找个目录下,添加一个runner.pyfrom scrapy.cmdline import executeif __name__ == '__main__': execute('scrapy crawl test_m'.split())这样就可以右键运行他了...原创 2022-02-14 16:48:49 · 619 阅读 · 0 评论 -
python协程扒电影笔记(协程、m3u8、解密、合并)
这篇文章干货很多套路就是 通过 网站的第一个m3u8 找到 第二个m3u8 第二个m3u8很重要 这个里面记录了 是否加密 和 所有的ts文件 然后就是把所有的ts文件进行下载 如果加密了 就通过第二个m3u8提供的KEY 对ts进行解密 每一个ts都要解密 最后把解密后的ts 合并成一个mp4包的安装协程相关pip install asynciopip install aiohttppip install aiofiles解密相关pip install pycry原创 2022-01-20 15:26:20 · 1572 阅读 · 0 评论 -
xpath解析笔记
我们给出一段测试用的HTML代码. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" /> <title>Title</title></head><body> <div> <p>一个很厉害的人</p> <ol>原创 2022-04-01 17:47:42 · 283 阅读 · 0 评论 -
scrapy教你抓取美女高清大图
安装依赖pip install pillow建立蜘蛛项目scrapy startproject images_spidercd images_spiderscrapy genspider five_three_images 53pic.comsettings.py这个配置把这些整上LOG_LEVEL = "WARNING"ROBOTSTXT_OBEY = FalseDOWNLOAD_DELAY = 2 # 这个时间得加,这个框架是异步的,得让它慢点ITEM_PIPELINES =原创 2022-02-09 01:30:00 · 804 阅读 · 0 评论 -
python多进程、进程之间通信学习案例
进程进程: 运行中的程序. 每次我们执行一个程序, 咱们的操作系统对自动的为这个程序准备一些必要的资源(例如, 分配内存, 创建一个能够执行的线程一个公司能创造的价值毕竟是有限的. 怎么办? 开分公司啊. 此所谓多进程.python中常见的进程间通信方式主要是队列(Queue)和管道(Pipe)这里讲queue多进程在爬虫中的应用比如, 如果遇到图片抓取的时候, 我们知道图片在一般都在网页的img标签中src属性存放的是图片的下载地址.此时我们可以采用多进程的方案来实现,一个负责疯狂扫图原创 2021-12-25 17:19:29 · 446 阅读 · 0 评论 -
scrapy下载器中间件初探
初步学习下载器中间件 ,这个玩意儿还是挺复杂的主要复杂在他的请求、响应的变化,如果不存在拦截什么的情况 ,这就好弄一点在settings.py里面启用DOWNLOADER_MIDDLEWARES = { 'test_middle_demo.middlewares.TestMiddleDemoDownloaderMiddleware': 543,}@classmethod def from_crawler(cls, crawler): # This method is原创 2022-02-14 18:16:48 · 1129 阅读 · 0 评论 -
scrapy关于登录和cookies的三种方法
有些网站是需要登录才能搞的 ,那么这篇文章记录关于登录和cookies的三种方法又是一篇干货满满的文章方法一通过settings.py这里去把网站的cookie写到配置文件,这样就可以加载cookie了把这2个配置开启COOKIES_ENABLED = False DEFAULT_REQUEST_HEADERS = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',原创 2022-02-14 01:01:47 · 2387 阅读 · 0 评论 -
python线程池、Beautifulsoup、PyQuery爬票房网
#!/usr/bin/pythonfrom concurrent.futures.thread import ThreadPoolExecutorimport requestsfrom bs4 import BeautifulSoupfrom pyquery import PyQuerydef get_page_sources(link): responses = requests.get(link) responses.encoding = 'uft-8' retu原创 2021-12-24 16:55:15 · 254 阅读 · 0 评论 -
scrapy的工作流程
scrapy的工作流程如下图所示整个工作流程,爬虫中起始的url构造成request对象, 并传递给调度器.引擎从调度器中获取到request对象. 然后交给下载器由下载器来获取到页面源代码, 并封装成response对象. 并回馈给引擎引擎将获取到的response对象传递给spider, 由spider对数据进行解析(parse). 并回馈给引擎引擎将数据传递给pipeline进行数据持久化保存或进一步的数据处理.在此期间如果spider中提取到的并不是数据. 而原创 2022-01-29 12:01:24 · 3757 阅读 · 0 评论 -
python协程初步学习使用
import asyncioimport timeasync def func1(): print('func1 - 入 1') # 发送网路请求 # 休眠一下. 模拟网路请求 await asyncio.sleep(2) # 以前的sleep都是time.sleep(2) 2 print('func1 - 出 2')async def func2(): print('func2 - 入 3') await asyncio.slee原创 2021-12-25 16:50:39 · 505 阅读 · 0 评论 -
scrapy初体验之settings、spider(结合BeautifulSoup)、items、pipelines
Scrapy到目前为止依然是这个星球上最流行的爬虫框架. 摘一下官方给出对scrapy的介绍An open source and collaborative framework for extracting the data you need from websites.In a fast, simple, yet extensible way.scrapy的特点: 速度快, 简单, 可扩展性强.创建scrapy startproject game_spider D:\Code\new_s原创 2022-01-29 15:00:29 · 974 阅读 · 0 评论 -
python关于selenium的一些操作(定位元素、切换、等待、cookies、选项)
就直接从案例下手就行了安装很简单pip install selenium还需要找个chromedriver这个是针对浏览器的 这是谷歌的 你要别的,再找https://npmmirror.com/mirrors/chromedriver还得看浏览器的版本才行定位元素查找元素 最通用的就是xpath, 其他还有很多,xpath要用的熟悉才好chrome.find_element(By.XPATH,'')切换一.打开2个页面这里要做切换,不然你看着是切换了,实际上没切换,切换完了 还原创 2022-01-08 17:45:12 · 1073 阅读 · 0 评论 -
python关于selenium的一些操作(验证码、事件链)
验证码直接把浏览器里面的cookie拿出来直接用.手动编写验证码识别的功能(深度学习)第三方打码平台(收费), 超级鹰, 图鉴事件链from selenium.webdriver.common.action_chains import ActionChains这个就是遇到验证码了,验证码识别出来了,然后靠这个操作例1比如1-4个坐标的web = Chrome()points_str_lst = result['pic_str'].split("|")for p in points原创 2022-01-08 21:52:22 · 951 阅读 · 4 评论 -
python之selenium和xpath简单知晓国服魔兽世界正式服人口普查
最近想玩魔兽世界正式服,想找个联盟部落势均力敌的服务器,然后找到了网站100多个服务器,这上面还不能筛选,作为程序猿的我,就拿技术搞他。看了下F12源码,源码里没有数据,就想到xhr、js这东西。果断 network ,这货的数据果然是用ajax加载的。但是这个接口里看不到哪个优势这个数据,我估计他那个优势那个td是前端渲染出来的。看了一眼源码 ,就是这么干的 。这个是F12的element出来的结果这是源码的js这个是Ajax的接口数据这不太符合我的要求, 所以我决定上selen原创 2022-04-09 16:01:54 · 2833 阅读 · 0 评论 -
CrawlSpider全站爬取简单笔记
又来更新爬虫了,这回是scrapy的CrawlSpider全站爬取CrawlSpider 这个东西有个关键的东西叫 链接爬取器LinkExtractor( allow=r'Items/',# 满足括号中“正则表达式”的值会被提取,如果为空,则全部匹配。 deny=xxx, # 满足正则表达式的则不会被提取。 restrict_xpaths=xxx, # 满足xpath表达式的值会被提取 restrict_css=x原创 2022-05-17 09:34:48 · 538 阅读 · 0 评论 -
python使用线程池、BeautifulSoup爬无忧书城(慎用,速度超快)
#!/usr/bin/python# date 2021-12-18import osimport requestsfrom bs4 import BeautifulSoupfrom concurrent.futures.thread import ThreadPoolExecutorfrom fake_useragent import UserAgent # 这个包是随机UA,需要安装,也可以不用这个def url_to_response(links, do_headers):原创 2021-12-24 21:06:17 · 681 阅读 · 0 评论 -
python3的async/await做异步编程
协程就是单线程协程就是遇到IO挂起,等待,充分利用CPU的操作。这个解释不那么官方 ,但是理解就是这样的。我就写个简单的代码应用 。就是自己的笔记。import asyncioimport aiohttpimport aiofiles这三个包都要引用,没有就安装一下。aiohttp客户端最简单的例子async def get_http(url): async with aiohttp.ClientSession() as session: async with s原创 2022-01-07 16:27:02 · 499 阅读 · 0 评论