info

Python学习笔记——爬虫之Scrapy项目实战

送分小仙女□ 提交于 2019-12-08 21:31:16
目录 手机App抓包爬虫 阳光热线问政平台 (实战项目三)新浪网分类资讯爬虫 Cosplay图片下载爬虫 用Pymongo保存数据 三种Scrapy模拟登陆策略 手机App抓包爬虫 1. items.py class DouyuspiderItem(scrapy.Item): name = scrapy.Field()# 存储照片的名字 imagesUrls = scrapy.Field()# 照片的url路径 imagesPath = scrapy.Field()# 照片保存在本地的路径 2. spiders/douyu.py import scrapy import json from douyuSpider.items import DouyuspiderItem class DouyuSpider(scrapy.Spider): name = "douyu" allowd_domains = ["http://capi.douyucdn.cn"] offset = 0 url = "http://capi.douyucdn.cn/api/v1/getVerticalRoom?limit=20&offset=" start_urls = [url + str(offset)] def parse(self, response): # 返回从json里获取 data段数据集合

Log4j.properties配置详解

大憨熊 提交于 2019-12-08 21:30:30
参考博客 https://www.jianshu.com/p/ccafda45bcea 一、log4j简介 log4j主要有三个重要的组件: Loggers(记录器):日志类别和级别; Appenders(输出源):日志要输出的地方; Layout(布局):日志以何种形式输出。 1、Loggers Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度 Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。 2、Appenders 禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。 常使用的类如下: org.apache.log4j.ConsoleAppender(控制台) org.apache.log4j.FileAppender(文件) org.apache.log4j

链接二手房数据可视化

梦想与她 提交于 2019-12-08 21:26:05
使用python3.7对链家网中广州二手房的交易数据进行爬取,并使用python-highcharts对爬取到的数据进行可视化分析。 首先,配置需要的环境: 打开终端cmd,进入pip所在的目录,安装python-highcharts库: pip install python-highcharts 对链家网进行数据爬虫,得到json格式的数据: LianJia_by_json.py from selenium import webdriver from bs4 import BeautifulSoup import re import xlwt import urllib import json import os import time class spider: def __init__(self,driver): self.driver = driver self.chengjiao_info_dict = {} self.href_list = [] self.classification_dict = {} # self.data_json_file = 'LianJia_'+time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime())+'.json' # print(self.data_json_file) # exit(0)

常见库爬取58二手全站信息

坚强是说给别人听的谎言 提交于 2019-12-08 21:22:59
环境为:(穷买不起mac)win7 + python3 + pycharm + mongoDB , 数据链接为navicat 本地访问, 发现一个问题,这个网站开线程爬取竟然不封ip,不用找各种ip的犯难,哎,也是少数几个吧,注意爬取首页的url,我用的是http的,注意,不要用HTTPS的。 主程序main.py,连接两个爬虫,然后注释部分是断点爬取的方法,知道重复的不爬取。你可以试一下过程不明白的可以问我。 链接: https://pan.baidu.com/s/1FQ8kZSqfEsC9vPra_J8-ag 提取码:v0nd import sys sys.path.append("..") from multiprocessing import Pool from channel_extract import channel_list from page_spider import get_links from page_spider import get_info from page_spider import tongcheng_url from page_spider import tongcheng_info def get_all_links_from(channel): for num in range(1,101): get_links(channel,num)

使用python爬取链家上海二手房信息的案例

孤者浪人 提交于 2019-12-08 21:16:44
使用python爬取链家上海二手房信息的案例 1、需求分析 爬取链家网上海的二手房信息,包括名称、户型、面积、价格信息,并将爬取到的信息写入到数据库中。 2、步骤分析 2.1 确定待爬取的url https://sh.lianjia.com/ershoufang/pg 在谷歌浏览器中查看网页源代码:ctrl+shif+i,先点击图中左上角框中的按钮,再在网页中点击需要查看的内容就会定位到对应的代码。 2.2确定爬取的数据 确定爬取的名称和户型的标签为 data-el=”region” 确定爬取的二手房的价格的标签class类名:class=”totalPrice” 3、代码实现 #从urllib中导入request,接受一个Request类的实例来设置URL请求的headers from urllib import request #导入正则表达式模块 import re #导入pymysql,将爬取到的数据写入mysql中 import pymysql def HTMLspider (url,startPage,endPage) : #作用:负责处理URL,分配每个URL去发送请求 for page in range(startPage,endPage+ 1 ): filename= "第" + str(page) + "页.html" #组合为完整的url fullurl

基于python多线程和Scrapy爬取链家网房价成交信息

一世执手 提交于 2019-12-08 21:13:09
文章目录 知识背景 Scrapy- spider 爬虫框架 SQLite数据库 python多线程 爬取流程详解 爬取房价信息 封装数据库类,方便多线程操作 数据库插入操作 构建爬虫爬取数据 基于百度地图获取小区地理坐标 完整代码 本次教程以深圳市为例,介绍利用python多线程爬取链家网的房价成交信息。其中涉及的知识包括爬虫框架Scrapy-spider、轻量数据库SQLite等。 知识背景 Scrapy- spider 爬虫框架 简单的说,Scrapy爬虫框架会利用异步机制帮助提高网络爬虫的爬取速度。 最重要的,爬虫 记载爬取失败的url ,进行重复爬取,直到 爬取失败的url列表为空 时结束爬取,这显然提高数据的爬取质量。 SQLite数据库 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它占用资源非常的低,操作简单,适合用于存储爬虫结果数据。 python多线程 多线程就像同时执行多个程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理。 运行速度更快 在一些等待的任务实现上如用户输入、文件读写和网络收发数据等情况下我们可以释放一些珍贵的资源如内存占用等等。 爬取流程详解 爬取房价信息 封装数据库类,方便多线程操作 class SQLiteWraper(object): """ 数据库的一个小封装,更好的处理多线程写入

爬取链家二手挂单房屋 - 匹配百度地图API坐标 - python出地图【0】爬取链家二手挂单房屋

China☆狼群 提交于 2019-12-08 21:09:06
不知道怎么从楼盘页中直接抓取地图坐标点(看到神箭手上人家提供的脚本有直接抓坐标的功能),因此先在链家网上爬取其他与房屋有关的信息;脚本主体套用的 Tsukasa鱼的这篇,表示万分感谢 ### 初步设定 import os os.chdir( "D:/" ) import json import requests import re import pandas as pd import time import random from itertools import chain from bs4 import BeautifulSoup from fake_useragent import UserAgent import datetime import numpy as np import pymongo def generate_allurl (user_in_nub, url) : # 生成url for url_next in range( 1 , int(user_in_nub)): yield url.format(url_next) def get_allurl_LJ (generate_allurl, wildcard) : # 分析url解析出每一页的详细url ua = UserAgent() headers = { 'User-Agent' :ua.random

linux-shell上传文件到ftp

人盡茶涼 提交于 2019-12-08 20:26:03
PS: 会持续更新linux系列,希望大家多多支持. >_< 上传: # 将系统的 /home/jc/sys/in/昨天日期 下的所有文件 上传到FTP /home/sys/in/昨天日期 #!/bin/bash open ftpaddr ftpport user ftpuser ftppwd binary hash cd /home/sys/in/$date -d yesterday + %Y%m%d lcd /home/jc/sys/in/$date -d yesterday + %Y%m%d prompt mput * bye END # 将系统的 /home/jc/settle/info/settleInfo/accountsettle_info_昨天日期 单个文件 上传到FTP /home/settle/info/settleInfo/accountsettle_info_昨天日期 #!/bin/bash open ftpaddr ftpport user ftpuser ftppwd binary hash prompt put /home/jc/settle/info/settleInfo/accountsettle_info_.$date -d yesterday + %Y%m%d /home/settle/info/settleInfo/accountsettle

大数据(bigdata)练习题

試著忘記壹切 提交于 2019-12-08 16:39:46
1. 在 HDFS 文件系统的根目录下创建递归目录“ 1daoyun/file ”,将附件中的 BigDataSkills.txt 文件,上传到 1daoyun/file 目录中,使用相关命令查看文件系统中 1daoyun/file 目录的文件列表信息。 答: [root@master MapReduce]# hadoop fs -mkdir -p /1daoyun/file [root@master MapReduce]# hadoop fs -put BigDataSkills.txt /1daoyun/file [root@master MapReduce]# hadoop fs -ls /1daoyun/file Found 1 items -rw-r--r-- 3 root hdfs 1175 2018-02-12 08:01 /1daoyun/file/BigDataSkills.txt 2. 在 HDFS 文件系统的根目录下创建递归目录“ 1daoyun/file ”,将附件中的 BigDataSkills.txt 文件,上传到 1daoyun/file 目录中,上传过程指定 BigDataSkills.txt 文件在 HDFS 文件系统中的复制因子为 2 ,并使用 fsck 工具检查存储块的副本数。 答: [root@master MapReduce]#

redis命令 info persistence

纵然是瞬间 提交于 2019-12-08 10:51:30
loading:服务器是否正在载入持久化文件 rdb_changes_since_last_save:离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化 rdb_bgsave_in_progress:服务器是否正在创建rdb文件 rdb_last_save_time:离最近一次成功创建rdb文件的时间戳。当前时间戳 - rdb_last_save_time=多少秒未成功生成rdb文件 rdb_last_bgsave_status:最近一次rdb持久化是否成功 rdb_last_bgsave_time_sec:最近一次成功生成rdb文件耗时秒数 rdb_current_bgsave_time_sec:如果服务器正在创建rdb文件,那么这个域记录的就是当前的创建操作已经耗费的秒数 rdb_last_cow_size:RDB过程中父进程与子进程相比执行了多少修改(包括读缓冲区,写缓冲区,数据修改等)。 aof_enabled:是否开启了aof aof_rewrite_in_progress:标识aof的rewrite操作是否在进行中 aof_rewrite_scheduled:rewrite任务计划,当客户端发送bgrewriteaof指令,如果当前rewrite子进程正在执行,那么将客户端请求的bgrewriteaof变为计划任务