网页爬虫

Python网页爬虫学习

强颜欢笑 提交于 2020-04-14 02:56:58
【今日推荐】:为什么一到面试就懵逼!>>> 我总结的了ython网页爬虫的笔记,使用BeautifulSoup和requests两个模块实现,能够爬取百度贴吧帖子图片的功能。里面还包括的了两个模块具体的使用讲解,还包含了详细的注释。有问题请在GIT留言或者邮箱联系 可以直接去Github下载: 下载地址: https://github.com/liangz0707/WebCrawler git地址:git@github.com:liangz0707/WebCrawler.git 来源: oschina 链接: https://my.oschina.net/u/146773/blog/508263

抓妹子图平台的实现,你们就是喜欢这种东西,对吧?(之三)抓图流程的实现

落花浮王杯 提交于 2020-04-07 11:33:23
福利,三俗,喜闻乐见 为了后面能够接上web界面,需要一个可随时提供查询和推送信息的结构。一开始,逻辑不用做得太复杂,也不用过多考虑性能问题,只要保证了这样的结构,以后再修改也是可以的。 要实现结构就要选取异步io操作的方式,这个问题让我老头疼了,本人用python编程的时间也不长,知道的路数不多,multiprocessing在windows下是用不了的,gevent安装又太麻烦,需要多少第三方的东西,还需要编译器,还是硬着头皮选择用thread。心里有个架构,可以保证前台的流畅,但实现比较复杂,肯定暂时不会考虑用在这个例子上,不过前面说了,只要结构做出来,以后如果有性能上的需求,放到linux上,到时候再修改也不迟。 python3的新版本有个Future包,封装了异步相关的操作,也算方便,而且就有现成的多线程下载例子 http://docs.python.org/3.3/library/concurrent.futures.html?highlight=future#concurrent.futures.ThreadPoolExecutor 真是想人之所想啊,知道你们都喜欢这种;-) 对每一个网页,给一个任务编号。page_x 对每一个图片,给一个任务编号。pic_x 此外,每一个网页有一个图片列表。和网页原地址 此外,每一个图片有这几个数据项。 状态:0,未开始,1

抓妹子图平台的实现,你们就是喜欢这种东西,对吧?(之四)无阻塞版本的实现

寵の児 提交于 2020-04-07 11:06:58
福利,三俗,喜闻乐见 第三天,无阻塞版本的实现,在使用线程池的基础上,添加了一些控制代码,为将来做控制台做准备,另外,禁掉了控制台的进度报告,速度飞快就上去了。 接下来要转到文章的另一部分,websocket上面去。 # -*- coding: utf8 -*- import concurrent.futures import urllib.request import re import json import ast import os visitedURL = {} maxpageID = [0] pageDict = {} def createPageID(url): pID = maxpageID.pop()+1 maxpageID.append(pID) pID = 'page_'+str(pID) visitedURL[url] = pID return pID maxpicID = [0] picDict = {} def createPicID(url): pID = maxpicID.pop()+1 maxpicID.append(pID) pID = 'pic_'+str(pID) visitedURL[url] = pID return pID stoppedQueue = [] waitingQueue = [] downloadingQueue = []