python
coder...
萌新,共同进步......
展开
-
python多线程爬取官微信息
#coding=utf-8import MySQLdbimport os.pathtry: from sshtunnel import SSHTunnelForwarderexcept: SSHTunnelForwarder = Noneimport tracebackimport jsonimport requestsimport Queueimport th...原创 2020-04-02 15:55:27 · 167 阅读 · 0 评论 -
搜狗微信文章爬虫
最近因为搜狗微信进行了升级,导致公司的爬虫失去作用,然后其他同事又都有工作,于是乎这个任务就交给了我这个“菜鸟程序员”,因为之前没有写过爬虫相关的代码,Python也是工作后才现学的,导致为此纠结了好长时间。今天特意做个总结。爬虫出现问题,首先确定问题来源,是数据爬取过程中出现问题还是就没爬取到数据(爬取的网站改版,网站反扒,ip被封等等),确定了问题才能针对的行进行解决。此次搜狗微信文章...原创 2019-11-29 18:11:52 · 2674 阅读 · 5 评论 -
Scrapy - 京东商品信息
Scrapy项目结构爬取结果显示jdSpider 爬虫核心代码# -*- coding: utf-8 -*-import scrapyfrom TestDemo.items import TestdemoItemimport requestsimport jsonclass JdspiderSpider(scrapy.Spider): name = '...原创 2019-11-01 16:27:12 · 246 阅读 · 0 评论 -
爬虫Scrapy
Scrapy简介Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,Scrapy使用了Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,灵活的完成各种需求。异步:调用发出后,直接返回,不会等待返回结果,调用者可以继续执行其他操作同步:调用发出后,开始等待,直至结果出现,返回,调用者才能继续执行其他操作同步:去商场购物,你付钱等待售货员去仓库取货,然...转载 2019-10-31 17:17:51 · 165 阅读 · 0 评论 -
Python爬取京东商品信息
爬取所用url 商品信息列表页:https://search.jd.com/search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8商品信息详情页:https://item.jd.com/100008384346.html商品列表页后30商品数据:https://search.jd.com/s_new.php?keyword=%...原创 2019-10-29 18:55:17 · 1520 阅读 · 0 评论 -
invalid literal for int() with base 10: '50.8'
Python读取csv,并生成图像# -*- coding: utf-8 -*-import csvfrom datetime import datetimefrom matplotlib import pyplot as pltfilename = 'F:\\工作表.csv'with open(filename) as f: reader = csv.reader(...原创 2019-10-24 18:10:48 · 1367 阅读 · 2 评论 -
Python GIL全局解释器锁
GIL解释:GIL:Global Interpreter Lock 全局解释器锁,设计目的是保证数据安全。GIL 的功能是:在 CPython 解释器中执行的每一个 Python 线程,都会先锁住自己,以阻止别的线程执行。也就是说在解释器执行任何Python代码时,都需要先获取这把锁,意味着任何时候只可能有一个线程在执行代码,其他线程要想获得CPU去执行代码,就必须等到占有该锁的线程释放锁...原创 2019-10-24 14:48:43 · 95 阅读 · 0 评论 -
Python 多进程
1. 进程windows下不支持os.fork() 方法来启动多个进程Python 在 multiprocessing 模块下提供了 Process 来创建新进程。与线程类似的是,使用 Process 创建新进程也有两种方式:以指定函数作为 target,创建 Process 对象即可创建新进程。常用 继承 Process 类,并重写它的 run() 方法来创建进程类,程序创建...转载 2019-10-23 18:37:30 · 225 阅读 · 0 评论 -
python matplotlib
matplotlib Python的绘图库plot(list) 函数:将列表中的值设为 y轴的范围,x轴从0开始show() 函数:查看绘制出的图形# -*- coding: utf-8 -*-import matplotlib.pyplot as pltsquares = [1, 4, 9, 16, 25]plt.plot(squares)plt.show()...原创 2019-10-12 17:33:55 · 126 阅读 · 0 评论 -
python多线程
进程与线程的关系:操作系统可以同时执行多个任务,每一个任务就是一个进程,进程可以同时执行多个任务,每一个任务就是一个线程。线程被创建并启动后,并不会直接进入执行状态,也不会一直处于执行状态,线程的生命周期中,它会经历新建(new)、就绪(Ready)、运行(Running)、阻塞(Blocked)和死亡(Dead)5 种状态。当一个进程里只有一个线程时,叫作单线程。超过一个线程就叫作多...原创 2019-10-10 17:38:02 · 166 阅读 · 0 评论 -
python Counter计数
# -*- coding: utf-8 -*-from collections import Counter# Counter的本质是一个特殊的dict,它继承了dict类,因此它可以完全调用dict所支持的方法。# 创建空的Counter对象c1 = Counter()print(c1['pp']) # 访问Counter中不存在的元素,输出 0c2 = Counter('h...原创 2019-09-27 16:29:17 · 347 阅读 · 0 评论 -
python heapq(堆)
# -*- coding: utf-8 -*-# 堆:用数组实现的二叉树# 并不是每一个最大堆、最小堆都是一个有序数组,要将堆转换成有序数组,需要使用堆排序import heapqfrom heapq import *print(heapq.__all__)my_data = list(range(10))my_data.append(0.5)print('my_data的...原创 2019-09-27 14:10:00 · 87 阅读 · 0 评论 -
python collections(集合)
# -*- coding: utf-8 -*-'''python set集合 set 不记录添加顺序,元素不允许重复set集合本身是可变的,除了提供add(),remove()、discard()方法来操作单个元素,还可以进行集合运算来改变集合内的元素交集运算: intersection() 和intersection_update()并集运算:union() 和 update()...原创 2019-09-25 15:16:19 · 154 阅读 · 0 评论 -
python urllib、tcp、udp
Urllib# -*- coding: utf-8 -*-from urllib.parse import *import urllib# 解析URL字符串result = urlparse('http://www.crazyit.org:80/index.php;yeeku?name=fkit#frag')print(result)# 通过属性名和索引来获取URL的各部...原创 2019-09-19 14:49:29 · 171 阅读 · 0 评论 -
function of python
# -*- coding: utf-8 -*-s1 = "Hello,"'calendar'print(s1)s2 = "Python"s3 = "iS ..."# 使用 + 拼接字符串s4 = s2 + s3print(s4)# 拼接数字时,不能直接拼接数字和字符串,程序必须先将数字转换成字符串s5 = "数字"p = 66.6# 字符串直接拼接数值,程序报错#...原创 2019-09-12 10:28:04 · 180 阅读 · 0 评论 -
Python 异常调试
#!/usr/bin/env python3# -*- coding: utf-8 -*-from functools import reduceimport loggingimport pdblogging.basicConfig(level=logging.INFO)def foo(s): n = int(s) # assert n != 0, 'n is...原创 2019-08-26 15:53:28 · 110 阅读 · 0 评论 -
Python 定制类
class Chain(object): def __init__(self, path=''): self._path = path def __getattr__(self, path): # 找不到类属性,执行此函数 return Chain('%s/%s' % (self._path, path)) def __call__(...原创 2019-08-23 16:47:51 · 91 阅读 · 0 评论 -
Python 中yield关键字
Python中带yield关键字的函数不再是一个普通函数,而视为一个 (generator)生成器,generator 看起来像函数调用,但不会执行任何函数代码,直到调用其next函数才开始执行(在 for 循环中会自动调用 next()),next()下一步,从上一次next停止的地方开始,所以调用生成器的next函数时,不会从生成器起始执行。遇到yield之后,返回值然后此步结束。#...原创 2019-08-22 14:42:28 · 136 阅读 · 0 评论 -
Dict、Set
Python中set集合常用方法add() set1.add() 向 set1 集合中添加数字、字符串、元组或者布尔类型 >>> set1 = {1,2,3} >>> set1.add((1,2)) >>> set1 {(1, 2), 1, 2, 3} clear() set1.clear...原创 2019-08-19 18:55:22 · 74 阅读 · 0 评论 -
Pycharm 中mysqldb包无法导入
下载MySQL_python-1.2.5-cp27-none-win_amd64.whl文件下载链接:https://pan.baidu.com/s/1dVPEPYINyV5z5Hn-65ib5w 提取码:d2wi下载完成后将其拷贝至python安装目录下的scripts文件夹中,打开cmd,pip命令安装mysqldb安装完成后重启pycharm即可...原创 2019-08-08 17:35:55 · 895 阅读 · 0 评论 -
Python编码乱码问题
SyntaxError: Non-ASCII character '\xe2' in file Py2.py on line 2, but no encoding declared;python文件未指明编码类型,在文件开头加上 # encoding: utf-8另外在pycharm的terminal控制台通过命令行执行Python文件,与直接右键run执行Python文件相比,te...原创 2019-08-09 10:51:59 · 591 阅读 · 0 评论 -
python连接数据库
python连接数据库实例# encoding: utf-8import MySQLdb#数据库连接实现类class DbConnection(object): def __init__(self): # 当前类的实例 self.conn = None def open(self): child = type(self...原创 2019-08-09 15:56:38 · 211 阅读 · 0 评论 -
Python内置函数
https://docs.python.org/zh-cn/3/library/functions.htmlhttps://blog.csdn.net/weixin_40449300/article/details/82291566菜鸟教程:https://www.runoob.com/python/python-built-in-functions.html...原创 2019-08-12 10:04:10 · 140 阅读 · 0 评论 -
python 小记
python中调用方法时加括号与不加括号的区别def cal(data): return data + dataif __name__ == '__main__': print(cal(5)) print(cal) 不带括号时,调用的是这个函数本身 ,是整个函数体,是一个函数对象,不须等该函数执行完成,返回对象地址 带括号(参数或者无参),调用...原创 2019-08-29 13:52:55 · 106 阅读 · 0 评论