Crawler

蟒周刊-423-Python 依赖关系管理工具概述

Deadly 提交于 2020-08-06 08:28:53
原文: PyCoder's Weekly - Issue #423 200527 Zoom.Quiet (大妈) 用时 42 分钟 完成快译 200527 Zoom.Quiet (大妈) 用时 37 分钟 完成格式转抄. 从终端向 Python 传递代码的多种方法 BRETT CANNON You might know about pointing Python to a file path, or using -m to execute a module. But did you know that Python can execute a directory? Or a .zip file? ( 是也乎: 甚至于还有通过 FaaS 直接远程嗯哼的... ) Python 3.9 的 PEP 们 JAKE EDGE The first Python 3.9 beta release is upon us! Learn what to expect in the final October release by taking a tour of the Python Enhancement Proposals (PEPs) that were accepted for Python 3.9. ( 是也乎: 老爹离开后, Py 没了缰绳儿, 越来越欢跳了... ) Python

第55天:爬虫的介绍

ⅰ亾dé卋堺 提交于 2020-08-05 18:26:40
by 闲欢 作为程序员,相信大家对“爬虫”这个词并不陌生,身边常常会有人提这个词,在不了解它的人眼中,会觉得这个技术很高端很神秘。不用着急,我们的爬虫系列就是带你去揭开它的神秘面纱,探寻它真实的面目。 爬虫是什么 网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 通俗地讲,我们把互联网比作一张大蜘蛛网,每个站点资源比作蜘蛛网上的一个结点,爬虫就像一只蜘蛛,按照设计好的路线和规则在这张蜘蛛网上找到目标结点,获取资源。 为什么使用爬虫 为什么我们需要使用爬虫呢? 大家可以想象一下一个场景:你非常崇拜一个微博名人,对他的微博非常着迷,你想把他十年来微博上的每一句话摘抄下来,制作成名人语录。这个时候你怎么办呢?手动去 Ctrl+C 和 Ctrl+V 吗?这种方法确实没错,数据量小的时候我们还可以这样做,但是数据成千上万的时候你还要这样做吗? 我们再来想象另一个场景:你要做一个新闻聚合网站,每天需要定时去几个新闻网站获取最新的新闻,我们称之为 RSS 订阅。难道你会定时去各个订阅网站复制新闻吗?恐怕个人很难做到这一点吧。 上面两种场景,使用爬虫技术可以很轻易地解决问题。所以,我们可以看到,爬虫技术主要可以帮助我们做两类事情:一类是数据获取需求,主要针对特定规则下的大数据量的信息获取

用node写个爬虫?看完这篇新手也会

时光总嘲笑我的痴心妄想 提交于 2020-07-27 11:01:04
从node问世以后,就不断被JavaScript的忠实追随者拿来干一些原来只有php、Python等后端语言才能干的事情,例如写个爬虫之类的。对于前端er来说,用上一些好用的轮子,你可能十几行代码就可以写一个crawler哦~ 爬虫的思路十分简单 : 按照一定的规律发送 HTTP 请求获得页面 HTML 源码(必要时需要加上一定的 HTTP 头信息,比如 cookie 或 referer 之类) 利用正则匹配或第三方模块解析 HTML 代码,提取有效数据 将数据持久化到数据库中 当然爬虫的写法千千万,下面只提供吃瓜群众都能看懂的版本~ *文章目录* 1. *准备阶段* 1.1. NPM 1.2. package.json 1.3. crawler.js 2. *学习阶段* 2.1. REQUEST 2.2. CHEERIO 3. *建设阶段* 4. *实验阶段* *准备阶段* NPM (npm:趁还没被yarn干掉再续一秒) 首先我们需要通过npm安装两个模块 reuqest 和 cheerio 来帮助我们更方便地 请求 和 解析 页面 终端cd到你的文件目录里,先装上,一会儿我再各自讲它们 package.json 装完你可以看到你文件夹里的 package.json 里已经多了两个依赖项 crawler.js 假设你的爬虫程序主文件名叫 crawler.js

使用PyMongo访问需要认证的MongoDB

我的未来我决定 提交于 2020-05-08 00:12:32
Windows 10家庭中文版,Python 3.6.4,PyMongo 3.7.0,MongoDB 3.6.3,Scrapy 1.5.0, 前言 在Python中,使用PyMongo访问MongodB,作者Mike Dirolf,维护人员Bernie Hackett <bernie@mongodb.com>,相关链接如下: - PyPI官网 - GitHub官网 - 最新版本3.7.0文档 说明,关于文档,可以从GitHub下载PyMongo(需要安装sphinx先),然后自行编译文档。 说明,PyMongo还有一些附属包,以提供与MongoDB服务器匹配的功能,比如TLS / SSL、GSSAPI、srv、wire protocol compression with snappy等,大家可以根据需要安装。 本文介绍使用PyMongo访问需要认证的MongoDB,包括从IDLE、Scrapy爬虫程序来访问。 参考官文: PyMongo Authentication Examples (可以直接阅读官文,忽略本文剩余部分,) 本地MongoDB服务器介绍 打开MongoDB服务器: mongod --dbpath d:\p\mdb2dir --logpath d:\p\mdb2dir\log --logappend --auth --directoryperdb

【Python项目】爬取新浪微博签到页

折月煮酒 提交于 2020-05-01 18:10:19
基于微博签到页的微博爬虫 项目链接: https://github.com/RealIvyWong/WeiboCrawler/tree/master/WeiboLocationCrawler 1 实现功能 这个项目是用来爬取微博签到页的微博数据(每三个小时爬一次),并写进sqlite数据库。 关于 微博签到页 打个比方,就是类似这个https://weibo.com/p/100101B2094757D069A7FE449F 顺便一说,这个页面是不用微博登录就可以访问的。所以方便很多啊(不用模拟登录)。 2 依赖环境 使用的是Python 3.7(在云上用过3.5也完全ok)。 需要额外的第三方库有yagmail(用来发送邮件),pandas,bs4。均可使用pip来安装。 pip install yagmail pandas bs4 3 使用方法 step1. 修改pid.csv中的地点名词与对应的id。 step2. 修改start.py中的邮箱账号密码。 step3. Run start.py。 4 文件说明 包含四个文件。 pid.csv 是放置地点的名称和微博页面对应的位置id。比如说上面的珞珈山,就是网页URL最后的那一串数字 100101B2094757D069A7FE449F 。 buildip.py 是在网上看到别人写的……具体忘了哪的,如果本尊看到!sorry

Scrapy爬虫框架(实战篇)【Scrapy框架对接Splash抓取javaScript动态渲染页面】

百般思念 提交于 2020-04-27 04:21:16
(1)、前言 动态页面:HTML文档中的部分是由客户端运行JS脚本生成的,即服务器生成部分HTML文档内容,其余的再由客户端生成 静态页面:整个HTML文档是在服务器端生成的,即服务器生成好了,再发送给我们客户端 这里我们可以观察一个典型的供我们练习爬虫技术的网站:quotes.toscrape.com/js/ 我们通过实验来进一步体验下:(这里我使用ubuntu16.0系统) 1、启动终端并激活虚拟环境:source course-python3.5-env/bin/activate 2、爬取页面并分析 1 (course-python3.5-env) bourne@bourne-vm:~$ scrapy shell http://quotes.toscrape.com/js/ 2 2018-05-21 22:50:18 [scrapy.utils.log] INFO: Scrapy 1.5 .0 started (bot: scrapybot) 3 2018-05-21 22:50:18 [scrapy.utils.log] INFO: Versions: lxml 4.2.1.0, libxml2 2.9.8, cssselect 1.0.3, parsel 1.4.0, w3lib 1.19.0, Twisted 18.4.0, Python 3.5.2 (default,

Scrapy:运行爬虫程序的方式

霸气de小男生 提交于 2020-04-26 06:10:43
Windows 10家庭中文版,Python 3.6.4,Scrapy 1.5.0, 在创建了爬虫程序后,就可以运行爬虫程序了。Scrapy中介绍了几种运行爬虫程序的方式,列举如下: -命令行工具之scrapy runspider(全局命令) -命令行工具之scrapy crawl(项目级命令) -scrapy.crawler.CrawlerProcess -scrapy.crawler.CrawlerRunner 注意 ,当系统中同时存在Python 2、Python 3时,孤的电脑直接执行scrapy命令使用的是Python 2,此时,需要在scrapy命令前添加“python3 -m”才可以使用Python 3,因此,请使用virtualenv建立虚拟环境运行scrapy等各种程序。 方式一:scrapy runspider命令(全局) 语法: scrapy runspider <spider_file.py> 还有一些配置项,可以使用scrapy runspider -h查看。 示例程序:文件名为baidu_com.py 1 # -*- coding: utf-8 -*- 2 import scrapy 3 4 class BaiduComSpider(scrapy.Spider): 5 name = ' baidu.com ' 6 allowed_domains = [

软件需求工程与建模--搜索引擎项目--项目概述

只谈情不闲聊 提交于 2020-04-26 04:40:16
一。Gitbub网址         韩昇范: https://github.com/hansf14/WebpageAnalysis 陈家乐: https://github.com/richardevan 金奭炫: https://github.com/sh0116 二。项目简介   这是一咱们想要自己实现的 Search Engine(搜索引擎)+ 搜索出来的网项之间的关系、网项与输入的keyword 之间的关系图可视化软件。就类似于百度和Google一样而咱们还加上了搜索结果的关系可视化。在电脑上(*或手机)上可以输入一个单词或句子,给出搜索结果并可视化。 三 。选择原因 通过具体项目实例来了解大数据,应用大数据解决实际问题,这是我们学习的目的,我们组的组员都想借此机会学习当前最新的技术。 在当今创新创业时代,大数据处理技术要求越来越高,为了跟上时代的潮流,我们理应去了解、培养、训练这些技术。 四。 NABCD分析    N(Need 需求)     随着技术的进步,所有的事情都可以通过谷歌或百度搜索。 但有时候结果是一篇很长而且有时候难以理解的文章。 通过这个搜索引擎,可以让搜索者更容易找到想要的结果。我们希望通过本次项目来再次巩固一下使用编程语言基础、新的算法框架、新的应用技术。    A(Approach 方法)      所有人可以通过电脑(*或者手机

scrapy 执行同个项目多个爬虫

无人久伴 提交于 2020-04-24 20:13:23
一开始我们默认都是只有一个爬虫的,所以执行的代码都是在项目下创建一个py文件 from scrapy import cmdline cmdline.execute('scrapy crawl 爬虫名'.split( )) 但是要执行多个爬虫就犯难了,在这里我只是做个笔记加强记忆 原博客 https://www.cnblogs.com/lei0213/p/7900340.html 其中执行以下:   1、在spiders同级创建任意目录,如:commands   2、在其中创建 crawlall.py 文件 (此处文件名就是自定义的命令) crawlall.py from scrapy.commands import ScrapyCommand from scrapy.utils.project import get_project_settings class Command(ScrapyCommand): requires_project = True def syntax(self): return ' [options] ' def short_desc(self): return ' Runs all of the spiders ' def run(self, args, opts): spider_list = self.crawler_process.spiders

手把手教你使用Python批量创建复工证明

女生的网名这么多〃 提交于 2020-04-23 04:53:09
/1 前言/ 受疫情影响,2020年2月份、3月份企业复工需为员工开具复工证明。因本公司人数较多,复制粘贴工作量巨大,特此为行政同事写此小工具,现与诸位共享。 /2 目标/ 1.实现批量将 Excel 姓名、身份证号信息导入 Word模板,并生成独立的 Word 文档; 2.此方法核心思路是 word 的邮件合并功能,可以理解为邮件合并 Python 版; 3.还可以实现批量在职证明生成、批量工资条生成、批量证书生成等功能。 /3 涉及的库/ mailmerge,pandas /4 具体实现/ 1.制作 Word 模板 首先上成品图,如上图所示,仅红框内为特殊字符,其他均为普通模板文本,下面详细为大家介绍如何生成特殊字符。 按以上操作分别将函数名添加到正确位置,即可生成Word 模板。 2.制作 Excel 模板 在员工信息总表提取数据(可先按需求筛选,如筛选外省员工),保证模板内至少包含姓名、身份证号两列。 两个文件分别以“模板”命名。 3.代码实现 代码非常简单,通过 pandas 读取 Excel 数据,下方mailmerge 用法可理解为固定格式。 4.结果展示 全部选中后批量打印! 5.生成 exe 文件(pyinstaller -F 复工证明批量.py) 简易版为无需导入 Excel 数据,通过 input()直接填入数据,生成文件。 好了,打包发送给行政(人资)