![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python爬虫
kimiYangfly
这个作者很懒,什么都没留下…
展开
-
对动态网页进行逆向工程
通过搜索字母表的每个字母,然后遍历json响应的结果页面,来抓取所有国家信息。其产生结果将会存储在表格当中。import stringfrom downloader import Downloaderimport jsonD = Downloader()template_url = 'http://example.webscraping.com/ajax/search.json?p原创 2017-05-23 16:22:16 · 2271 阅读 · 0 评论 -
三种网页抓取方法
#-*- coding:UTF-8 -*-#1正则表达式import reimport urllib2url = 'http://example.webscraping.com/places/view/United-Kingdom-239'html = urllib2.urlopen(url).read()print re.findall('(.*?)', html)#正则表达式为我原创 2017-05-20 11:09:18 · 547 阅读 · 0 评论 -
正则表达式元字符说明
正则表达式元字符说明:123456789101112131415. 匹配除换行符以外的任意字符^ 匹配字符串的开始$ 匹配字符串的结束[] 用来匹配一个指定的字符类别? 对于前一个字符字符重复0次到1次* 对于前一个字符重复0次到无穷次{}原创 2017-05-21 10:05:46 · 287 阅读 · 0 评论 -
磁盘缓存
#-*- coding:UTF-8 -*-#原来创建对象时或者是调用类以外的方法时提示没有定义是因为这些类或方法的位置不应该放在主函数后面,而应该放在主函数前面import urlparseimport urllib2import randomimport timefrom datetime import datetime, timedeltaimport socketimport原创 2017-05-21 11:31:06 · 521 阅读 · 0 评论 -
ServerSelectionTimeoutError: localhost:27017: [Errno 10061]
1.启动mongo.exe2:添加一配置文件添加相应目录和文件,如下图所示3:4:原创 2017-05-21 22:12:26 · 5306 阅读 · 0 评论 -
MongoDB
try: import cPickle as pickleexcept ImportError: import pickleimport zlibfrom datetime import datetime, timedeltafrom pymongo import MongoClientfrom bson.binary import Binaryclass Mong原创 2017-05-21 22:26:04 · 223 阅读 · 0 评论 -
python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接。
因为对一个网站大量的使用urlopen操作,所以会被那个网站认定为攻击行为。有时就不再允许下载。导致urlopen()后,request.read()一直卡死在那里。最后会抛出errno10054.这个错误是connection reset bypeer.也就是传说的远端主机重置了此连接。原因可能是socket超时时间过长;也可能是request =urllib.request.urlopen原创 2017-05-22 09:15:30 · 20470 阅读 · 1 评论 -
解析Alexa列表
import csvfrom zipfile import ZipFilefrom StringIO import StringIOfrom downloader import DownloaderD = Downloader()zipped_data = D('http://s3.amazonaws.com/alexa-static/top-1m.csv.zip')urls = []原创 2017-05-22 09:29:59 · 731 阅读 · 0 评论 -
串行爬虫sequentipl
from link_crawler import link_crawlerfrom mongo_cache import MongoCachefrom alexa_cb import AlexaCallbackdef main(): scrape_callback = AlexaCallback() cache = MongoCache() link_crawler原创 2017-05-22 10:29:04 · 302 阅读 · 0 评论 -
多线程爬虫
threaded_crawler.py# -*- coding: utf-8 -*-import timeimport threadingfrom downloader import Downloaderimport urlparseimport robotparserimport csvimport reimport lxmlSLEEP_TIME = 1DEFAULT_A原创 2017-05-22 16:47:48 · 304 阅读 · 0 评论 -
python01
import reimport urlparseimport urllib2import timefrom datetime import datetimeimport robotparserimport Queue#链接爬虫'''一个链接爬虫需要考虑以下几个问题:1.网页可能不存在。就要用到try和except语句,捕获异常。2.临时性的错误。比如服务器过载返回的503原创 2017-05-19 15:45:03 · 217 阅读 · 0 评论 -
三种网页抓取方法性能对比
import refrom bs4 import BeautifulSoupimport lxml.htmlimport urllib2import timeFIELDS = ('area', 'population', 'iso', 'country', 'capital', 'continent', 'tld', 'currency_code', 'curren原创 2017-05-20 08:58:25 · 363 阅读 · 0 评论 -
为链接爬虫添加抓取回调
#-*- coding:UTF-8 -*-import reimport urlparseimport urllib2import timefrom datetime import datetimeimport robotparserimport Queueimport lxml.htmlimport csvdef link_crawler(seed_url, link_re原创 2017-05-20 10:39:42 · 1393 阅读 · 1 评论 -
渲染类
# -*- coding: utf-8 -*-import reimport csvimport timetry: from PySide.QtGui import QApplication from PySide.QtCore import QUrl, QEventLoop, QTimer from PySide.QtWebKit import QWebVie原创 2017-05-25 11:17:38 · 201 阅读 · 0 评论 -
Selenium
from selenium import webdriverdef main(): driver = webdriver.Firefox() driver.get('http://example.webscraping.com/search') driver.find_element_by_id('search_term').send_keys('.') dr原创 2017-05-25 14:58:35 · 193 阅读 · 0 评论 -
爬取网页的通用代码框架
#-*- coding:UTF-8 -*-import requestsdef getHTMLText(url): try: r = requests.get(url, timeout = 30) r.raise_for_status() #如果状态不是200,引发HTTPError异常 r.encoding = r.apparent_原创 2017-05-25 16:15:13 · 616 阅读 · 0 评论 -
网络图片的爬取与存储
#-*- coding:UTF-8 -*-import requestsimport osdef getImage(url): root = 'F:/image/' path = root + url.split('/')[-1] try: if not os.path.exists(root): os.mkdir(root)原创 2017-05-25 21:21:01 · 290 阅读 · 0 评论 -
Ip地址查询
#-*- coding:UTF-8 -*-import requestsdef IpSeek(url): try: r = requests.get(url + '202.204.80.112') print r.raise_for_status() r.encoding = r.apparent_encoding pr原创 2017-05-25 21:34:55 · 352 阅读 · 0 评论 -
定向网页爬取
#coding=utf-8import requestsfrom bs4 import BeautifulSoupimport bs4import sysreload(sys)sys.setdefaultencoding( "utf-8" )def getHTMLText(url): try: r = requests.get(url, timeout=3原创 2017-05-27 09:59:16 · 292 阅读 · 0 评论 -
把信息保存在html文件中的代码
# -*- coding: utf-8 -*-import scrapyclass CrawlSpider(scrapy.Spider): name = 'crawl' allowed_domains = ['www.zuihaodaxue.cn'] start_urls = ['http://www.zuihaodaxue.cn/zuihaodaxuepaimin原创 2017-05-27 20:35:18 · 1026 阅读 · 0 评论 -
re库主要功能函数
#coding=utf-8import re#re.search(pattern, string, flags)匹配正则表达式的第一个位置,返回match对象match = re.search(r'[1-9]\d{5}', 'BIT 100081')if match: print match.group(0)#re.match(pattern, string, flags原创 2017-05-28 15:56:11 · 1157 阅读 · 0 评论 -
使用requests和re库对淘宝商品信息进行定向爬取
#coding=utf-8import requestsimport redef getHtmlText(url): try: r= requests.get(url, timeout = 30) r.raise_for_status() r.encoding = r.apparent_encoding return原创 2017-05-28 21:40:14 · 826 阅读 · 0 评论 -
多进程爬虫
1. mongoqueue.pyfrom datetime import datetime, timedeltafrom pymongo import MongoClient, errorsclass MongoQueue: OUTSTANDING, PROCESSING, COMPLETE = range(3) def __init__(self, client=原创 2017-05-22 19:53:36 · 381 阅读 · 0 评论