from fake_useragent import UserAgent from lxml import etree import requests, os import time, re, datetime import base64, json, pymysql from fontTools.ttLib import TTFont ua = UserAgent() class CustomException(Exception): def __init__(self, status, ms…
#!/usr/bin/env python #-*-coding: utf-8 -*- import re import urllib.request as request from bs4 import BeautifulSoup as bs import csv import os import sys from imp import reload reload(sys) def GetAllLink(): num = int(input("爬取多少页:>")) if not…
python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器. 用pyspider的demo页面创建了一个爬虫,写一个正则表达式抓取多牛网站上特定的URL,很容易就得到想要的结果了,可以非常方便分析抓取页面里面的内容binux/pyspider · GitH…
之前在ququ的博客上看到说 python 中的BeautifulSoup 挺好玩的,今天下午果断下载下来,看了下api,挺好用的,完了2把,不错. 晚上写了一个使用python抓取58手机维修信息的精准的商家信息: 废话不多说了,直接上代码: #!/usr/bin/python # -*- coding: utf-8 -*- import urllib import os,datetime,string import sys from bs4 import BeautifulSoup relo…
利用python爬取58同城简历数据 利用python爬取58同城简历数据 最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用python里面的scrapy框架制作爬虫.但是在制作的时候,发现内容不能被存储在本地变量 response 中.当我通过shell载入网页后,虽然内容能被储存在response中,用xpath对我需要的数据进行获取时,返回的都是空值.考虑到数据都在源码中,于是我使用python里的beautifulSou…
笔趣看小说Python3爬虫抓取 获取HTML信息 解析HTML信息 整合代码 获取HTML信息 # -*- coding:UTF-8 -*- import requests if __name__ == '__main__': target = 'http://www.biqukan.com/1_1094/5403177.html' req = requests.get(url=target) print(req.text) 解析HTML信息 提取的方法有很多,例如使用正则表达式.Xpath.…
测试环境: win10,单机爬取,scrapy1.5.0,python3.6.4,mongodb,Robo 3T 其他准备: 代理池:测试环境就没有用搭建的flask抓代理,因为我找到的几个免费网站有效ip不够多,因此从xxx网站批量获取了800多个免费https代理,然后开线程池测试访问58同城网站,将有效ip保存到json文本中,在scrapy代码加proxy中间件,每次从json中random一个代理; 请求头:网上搜集各种网站的User-Agent,在scrapy中加UserAgent中…
前言: 苦逼的我从某某城市换到另一个稍微大点的某某城市,面临的第一个问题就是买房,奋斗10多年,又回到起点,废话就不多说了,看看如何设计程序把某同城上的房价数据抓取过来. 方案:方案思路很简单,先把网页内容获取下来,通过一定规则对内容解析,保存成想要的格式 难点是对网页的解析,是一个比较细致的活,必须边输出,边调试. 具体实现: 获取网页内容: def get_page(url):    headers = {        'User-Agent': r'Mozilla/5.0 (Window…
先上一个源代码吧. https://github.com/answershuto/Rental 欢迎指导交流. 效果图 搭建Node.js环境及启动服务 安装node以及npm,用express模块启动服务,加入自己所需要的中间件即可,这个不是本文所要讨论的重点,可以参考网上的一些教程搭建环境. 获取导航页URL以及数据 打开58同城主页,我主要针对杭州的二手房进行了爬取分析,所以进入杭州租房. [http://hz.58.com/chuzu/pn1/?key=%E6%9D%AD%E5%B7%9…
之前使用python3.4+selenium实现了爬58同城的详细信息,这次用pyspider实现,网上搜了下,目前比较流行的爬虫框架就是pyspider和scrapy,但是scrapy不支持python3,所以… 直接上代码,后面注解: #!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2016-04-17 16:54:22 # Project: tongcheng from pyspider.libs.base_hand…
爬了14W数据,存入Mongodb,用Charts库展示统计结果,这里展示一个示意 模块1 获取分类url列表 from bs4 import BeautifulSoup import requests,pymongo main_url = 'http://bj.58.com/sale.shtml' client = pymongo.MongoClient('localhost',27017) tc_58 = client['58tc'] tab_link_list = tc_58['link_…
很多时候想看小说但是在网页上找不到资源,即使找到了资源也没有提供下载,小说当然是下载下来用手机看才爽快啦! 于是程序员的思维出来了,不能下载我就直接用爬虫把各个章节爬下来,存入一个txt文件中,这样,一部小说就爬下来啦. 这一次我爬的书为<黑客>,一本网络小说,相信很多人都看过吧,看看他的代码吧. 代码见如下: import re import urllib.request import time # root = 'http://www.biquge.com.tw/3_3542/' # 伪造…
最近做了测试抓取XX时报的数据,由于需要事先登录,并且有验证码,关于验证码解决有两个途径:一是利用打码平台,其原理是把验证码的图片上传发送给打码平台, 然后返回其验证码.二就是自己研究验证码技术问题.这个有时间再研究. 目前主要是测试从XX时报抓取数据,目前暂时用了笨方法,利用人工介入,输入验证码. 登录界面: 具体代码如下: #coding=utf-8 import os import re from selenium import webdriver from selenium.webdri…
1.用于爬取58上的租房信息,限成都,其他地方的,可以把网址改改: 2.这个爬虫有一点问题,就是没用多线程,因为我用了之后总是会报: 'module' object has no attribute '_strptime'这个奇怪的错误,挣扎了许久,放弃: 如有大神看到这篇帖子,希望可以指点一二,不胜感激,谢谢. 3.我本来打算做成EXE文件的,但是在中文处理方面总是乱码,需要进一步研究: 以下为代码: #!/usr/bin/python # -*- encoding:utf-8 -*- imp…
对于页面的抓取,我们使用的是requests,现在大部分的网站都支持动态加载,我们在firefox f12后查找动态的url :http://www.meilishuo.com/aj/shop_list/goods?frame=1&page=0&shop_id=1001072849,这里的frame是变化的,因此我们只需要请求该网址即可,在请求的header中出现nt 参数,而且nt参数是变化的,我们猜测这可能是随时间变化的,而且是有有效期的:我们的工作是如何取得第一次的nt值?我们在访问…
爬取http://bj.58.com/pbdn/0/pn2/中除转转.推广商品以外的产品信息,因为转转和推广的详情信息不规范,需要另外写一个方法存放,后期补上,详情页如下 这周学习了爬虫,但是遇到一些js,requests方法无法渲染,比如浏览量,所以结合selenium+phantomjs渲染网页,获取信息 上代码,注释中详细解释: from selenium import webdriverfrom bs4 import BeautifulSoupimport re class GetPag…
作业需求: 1.基于Spider或者CrawlSpider进行租房信息的爬取 2.本机搭建分布式环境对租房信息进行爬取 3.搭建多台机器的分布式环境,多台机器同时进行租房数据爬取 建议:用Pycharm开发 爬取北京全站租房信息 爬取全站用基于crawlspider建立爬虫文件 对北京出租下的70页信息进行爬取: https://bj.58.com/chuzu/ ------------------------------------------- 分析页码网页 https://bj.58.co…
import urllib.requestresponse = urllib.request.urlopen('http://www.baidu.com')html = response.read()print(html) 上面的代码正常但是运行的时候结果遇到中文会以\xe7\x99\xbe\xe5\xba\xa6\xe4\xb8\x80代替,这是一种byte字节. python3 输出位串,而不是可读的字符串,需要对其进行转换 使用str(string[, encoding])对数组进行转换…
这篇文章是看了网上有人写了之后,才去试试看的,但是因为我用的是python3.3,与python2.x有些不同,所以就写了下来,以供参考. get_webJpg.py #coding=utf-8 import urllib.request import re def getHtml(url): html = urllib.request.urlopen(url).read() return html def getImg(html): reg = r'src="(.+?\.jpg)"…
最近在研究Python,熟悉了一些基本语法和模块的使用:现在打算研究一下Python爬虫.学习主要是通过别人的博客和自己下载的一下文档进行的,自己也写一下博客作为记录学习自己过程吧.Python代码写起来和Java的感觉很不一样. Python爬虫主要使用的是urllib模块,Python2.x版本是urllib2,很多博客里面的示例都是使用urllib2的,因为我使用的是Python3.3.2,所以在文档里面没有urllib2这个模块,import的时候会报错,找不到该模块,应该是已经将他们整…
上代码,有问题欢迎留言指出. # -*- coding: utf-8 -*- """ Created on Tue Aug 7 20:41:09 2018 @author: brave-man blog: http://www.cnblogs.com/zrmw/ """ import requests from bs4 import BeautifulSoup import json def getDetails(url): headers =…
注意:老版本的Python,except语句写作"except Exception, e",Python 2.6后应写作"except Exception as e". 格式: try: ... except Exception as e: ... str(e)返回字符串类型,只给出异常信息,不包括异常信息的类型,如1/0的异常信息‘integer division or modulo by zero’ repr(e)给出较全的异常信息,包括异常信息的类型,如1/0…
纯属初学...有很多需要改进的地方,请多多指点... 目标是抓取58同城 这个大分类下的列表数据: http://cd.58.com/caishui/?PGTID=14397169455980.9244072034489363&ClickID=1 简单分析: 1. 按照以下二级分类来获取每个列表的数据, 2. 主要分页: 可以看出,其分页是pn5 这里设置的,那么这个5就是页码了. http://cd.58.com/dailijizh/pn5/?PGTID=1177429071887065549…
python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree). 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作.它可以大大节省你的编程时间. Beautiful Soup Documentation — Beautiful Soup 4.4.0 documentationhttp://www.crummy…
最近网站从HTTPS转为HTTP,更换了网址,旧网址做了301重定向,折腾有点大,于是在百度站长平台提交网址,不管是主动推送还是手动提交,前提都是要整理网站的链接,手动添加太麻烦,效率低,于是就想写个脚本直接抓取全站链接并导出,本文就和大家一起分享如何使用python3实现抓取链接导出. 首先网站要有网站地图sitemap.xml文件地址,其次我这里用的是python3版本,如果你的环境是python2,需要对代码进行调整,因为python2和python3很多地方差别还是挺大的. 下面是pyt…
项目告一段落,快到一年时间开发了两个系统,一个客户已经在试用,一个进入客户测试阶段,中间突然被项目经理(更喜欢叫他W工)分派一个每隔两小时用windows服务去抓取客户提供的外网xml,解析该xml,然后将截取的节点字段值插入到已经建好相应结构的表中.并记录日志. xml结构概要如下: <?xml version="1.0" encoding="UTF-8"?> <list> <info> <id>93ef7c7ccc…
1. 写在前面 今天要抓取的一个网站叫做微医网站,地址为 https://www.guahao.com ,我们将通过python3爬虫抓取这个网址,然后数据存储到CSV里面,为后面的一些分析类的教程做准备.本篇文章主要使用的库为pyppeteer 和 pyquery 首先找到 医生列表页 https://www.guahao.com/expert/all/全国/all/不限/p5 这个页面显示有 75952 条数据 ,实际测试中,翻页到第38页,数据就加载不出来了,目测后台程序猿没有把数据返回,…
一.抓取流程概述 1.nutch抓取流程 当使用crawl命令进行抓取任务时,其基本流程步骤如下: (1)InjectorJob 开始第一个迭代 (2)GeneratorJob (3)FetcherJob (4)ParserJob (5)DbUpdaterJob (6)SolrIndexerJob 开始第二个迭代 (2)GeneratorJob (3)FetcherJob (4)ParserJob (5)DbUpdaterJob (6)SolrIndexerJob 开始第三个迭代 -- 2.抓取…
Python里scrapy爬虫 scrapy爬虫,正好最近成都房价涨的厉害,于是想着去网上抓抓成都最近的房价情况,顺便了解一下,毕竟咱是成都人,得看看这成都的房子我以后买的起不~ 话不多说,进入正题: 任务 抓取链家网(成都)的所有新房以及二手房价格.位置相关信息. 实验流程 1.确定抓取目标. 2.制定抓取规则. 3.'编写/调试'抓取规则. 4.获得抓取数据 1.确定抓取目标 1.1新房抓取目标 我们看到在成都楼盘列表页面,有楼盘名字.均价(每平方)和所属行政区,非常好,这正是我们想要抓取的…
闲着没事就抓取了下链家网的房源信息,抓取的是北京二手房的信息情况,然后通过网址进行分析,有100页,并且每页的url都是类似的 url = 'https://bj.lianjia.com/ershoufang/pg' + 页数,然后请求是get 请求,所以静态页面,然后依次来进行分析,并且存储在mongodb中,每次插入的时候还是要字符串装换成json格式在进行插入,页面的解析用的是bs,解析很方便,代码用的是单进程,耗时是大致66s,因为怕ip被封,所以在每次页面请求之后都要sleep 1秒.…