摘要:
线程是多任务编程方式之一,可以使用计算机的多核资源。 线程又称为轻量级的进程,在并发执行上和进程相同。但是一个进程中可以包含多个线程,这些线程共享线程的运行环境。 线程和进程的比较: 1 进程的创建开销大,而线程的创建开销小。 2 进程间的资源共享,只能通过进程间通信。而同一进程下线程间的资源共享, 阅读全文
摘要:
ImagePipeline 使用scrapy框架我们除了要下载文本,还有可能需要下载图片,scrapy提供了ImagePipeline来进行图片的下载。 ImagePipeline还支持以下特别的功能: 1 生成缩略图:通过配置IMAGES_THUMBS = {'size_name': (width 阅读全文
摘要:
我们写代码会经常出现bug,有的人会使用断点调试器,但是设置这样的断点调试器是花时间的。 所以很多人会在可能出现错误的地方print打印来输出语句。 Pysooper的作用有点类似,你不必小心谨慎的使用print语句,只需要在想要调试的函数中引入一个装饰器。就可以得到函数的详细日志,包括运行了那些行 阅读全文
摘要:
如何爬取一个网站的全站数据? 可以使用Scrapy中基于Spider的递归方式进行爬取(Request模块回调parse方法) 还有一种更高效的方法,就是基于CrawlSpider的自动爬取实现 CrawlSpider其实是Spider的一个子类,除了继承到Spider的特性和功能外,还派生出了自己 阅读全文
摘要:
递归解析 在前面的例子里只是爬取了糗事百科热门的第一个页面,但是当我们需要爬取更多的页面时,需要对每个页面的url依次发起请求,然后通过解析的方法进行作者和标题的解析。 我们可以构建一个url列表,放进去所有页面的url,但是这样是不推荐的。 我们也可以通过requests的方法来手动解析,然后来使 阅读全文
摘要:
scrapy简介 scrapy是一个用python实现为了爬取网站数据,提取结构性数据而编写的应用框架,功能非常的强大。 scrapy常应用在包括数据挖掘,信息处理或者储存历史数据的一系列程序中。 scrapy框架图 绿线是数据流向 Scrapy Engine(引擎):负责Spiders、Item 阅读全文
摘要:
首先来看下要爬取的网站的页面 查看网页源代码:你会发现它是由js动态加载显示的 所以采用selenium+谷歌无头浏览器来爬取它 1 加载网站,并拖动到底,发现其还有个加载更多 2 模拟点击它,然后再次拖动到底,,就可以加载完整个页面 得到结果: 随意打开一个txt: Scrapy版 wangyi. 阅读全文
摘要:
图片懒加载技术 图片懒加载是一种网页优化技术。图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源,而一次性将整个页面的所有图片加载完,将大大增加页面的首屏加载时间。为了解决这种问题,通过前后端配合,使图片仅在浏览器当前视窗内出现时才加载该图片,达到减少首屏图片请求数的技术就被称为“ 阅读全文
摘要:
BeautifulSoup是一个可以从HTML或者XML文件中提取数据的python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式。 BeautfulSoup是python爬虫三大解析方法之一。 首先来看个例子: 这个beautiful对象可以按照标准的缩进结构输出。 接下来用 阅读全文
摘要:
xpath是一门在xml文档中查找信息的语言。xpath可以用来在xml文档中对元素和属性进行遍历。 在xpath中,有7中类型的节点,元素,属性,文本,命名空间,处理指令,注释及根节点。 节点 首先看下面例子: 上面的节点例子: 父:在上面的例子里,book是title,author,year,p 阅读全文