随笔分类 - python技巧
摘要:需要把特殊字符替换到才能使用loads方法: import json import re import requests headers = { 'authority': 'www.ixigua.com', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; W
阅读全文
摘要:在爬虫开发的过程中,我们经常遇到一些 Ajax 加载的接口会返回 JSON 数据。如下图所示,是 Twitter 的用户时间线接口,返回了一段3000多行的深层嵌套 JSON: 其中的cursor这个字段,是请求下一页的必要字段,我必须把它的 value 值读取出来,拼接到请求 URL 中,才能请求
阅读全文
摘要:一、常见的中文编码 GB2312编码是在ASCII编码基础上扩展来的,在1980年由中国国家标准总局发布,其中最主要的变化就是引入了简体中文的编码,一共容纳了包括简体中文在内的6000多个字符。 仅仅是简体中文肯定是不够用的,1995年,GBK编码在GB2312编码的基础上进行扩充,加入了繁体中文和
阅读全文
摘要:很多人觉得正则很难,在我看来,这些人一定是没有用心。其实正则很简单,根据二八原则,我们只需要懂 20% 的内容就可以解决 80% 的问题了。我曾经有几年几乎每天都跟正则打交道,刚接手项目的时候我对正则也是一无所知,花半小时百度了一下,然后写了几个 demo,就开始正式接手了。三年多时间,我用到的正则
阅读全文
摘要:我们平时导入第三方模块的时候,一般使用的是import关键字,例如: import scrapy from scrapy.spider import Spider 但是如果各位同学看过 Scrapy 的settings.py文件,就会发现里面会通过字符串的方式来指定 pipeline 和 middl
阅读全文
摘要:# 多重解包 # 字典合并 a = {'1': 1, '2': 2} b = {'2': 2, '3': 3} print({**a, **b}) # {'1': 1, '2': 2, '3': 3} 相同元素被合并 print({**a, '5': 5, **b, '6': 6}) # {'1':
阅读全文
摘要:python读取文件指定行内容 import linecache text=linecache.getline(r'C:\Users\Administrator\Desktop\SourceCodeofMongoRedis\chapter_5\generate_string.py',10) 第十行内
阅读全文
摘要:设想这样一个场景: 你创建了10个子线程,每个子线程分别爬一个网站,一开始所有子线程都是阻塞等待。一旦某个事件发生:例如有人在网页上点了一个按钮,或者某人在命令行输入了一个命令,10个爬虫同时开始工作。 肯定有人会想到用Redis来实现这个开关:所有子线程全部监控Redis中名为start_craw
阅读全文
摘要:当我们在Python里面写文件时,我们常用的模式为 w模式,这种模式下,如果文件不存在,就会生成文件;如果文件已经存在,就会直接覆盖。 有时候,如果文件已经存在,直接覆盖文件可能会导致重要数据丢失。你不希望再覆盖文件,那么你可能会这样写代码: import os if os.path.exists(
阅读全文