python爬虫中文乱码 前几天用python来爬取全国行政区划编码的时候,遇到了中文乱码的问题,折腾了一会儿,才解决.现特记录一下,方便以后查看. 我是用python的requests和bs4库来实现爬虫,这两个库的简单用法可参照python爬取当当网的书籍信息并保存到csv文件 乱码未处理前部分代码 url = '要爬取的网页' r = requests.get(url, timeout=30) soup = BeautifulSoup(r.text, 'lxml') 乱码原因 我爬取的网页…
什么是Unicode? Unicode(统一码.万国码.单一码)是计算机科学领域里的一项业界标准,包括字符集.编码方案等.Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言.跨平台进行文本转换.处理的要求. 字符串? 字符串或串(String)是由数字.字母.下划线组成的一串字符.一般记为 s=“a1a2···an”(n>=0).它是编程语言中表示文本的数据类型.在程序设计中,字符串(string)为符号或数值的一个连…
# ###字符串类型 str """ 用引号起来的就是字符串 三种引号:单引号 双引号 三引号 """ """ 转义:\ (1)把有意义的字符变得无意义 (2)把没有意义的字符变得有意义 \n或者\r\n\ :换行 \t 一个缩进(水平制表符) \r:将\r后面的所有字符拉到当前首行 """ #(1) 单引号表达字符串 strvar = "来老男孩培训出去之后会变屌丝吗&quo…
问题描述 用python写爬虫,很多时候我们会先在cmd下先进行尝试. 运行爬虫之后,肯定的,我们想看看爬取的结果. 于是,我们print... 运气好的话,一切顺利.但这样的次数不多,更多地,我们会遇到这样的错误: UnicodeEncodeError: 'gbk' codec can't encode character 好吧,回去检查网页的编码格式:gb2312 代码中也添加了:r.encoding = 'gb2312' 看不出哪里出了问题,应该没问题的啊! 代码如下: import re…
变量类型: ①单值:int ②多值:数组 ③复杂:类 变量类型:就是变量的数据结构,表示这个变量所代表的内容的格式是怎样的. (多值)四种基本数据结构: 列表,字典,元组,集合 列表: ①元素可变,   意义:可对列表进行,增,删,改,爬虫使用较少 ②位置有序 ③可存储所有对象 使用: 列表中位置有序,用法与字符串的切片和索引类似 #索引 list=['aa','bb','cc','dd'] print(list[0]) #return aa  (string) #切片 print(list[1…
从某些网站看小说的时候经常出现垃圾广告,一气之下写个爬虫,把小说链接抓取下来保存到txt,用requests_html全部搞定,代码简单,容易上手. 中间遇到最大的问题就是编码问题,第一抓取下来的小说内容保持到txt时出现乱码,第二url编码问题,第三UnicodeEncodeError 先贴源代码,后边再把思路还有遇到的问题详细说明. from requests_html import HTMLSession as hs def get_story(url): global f session…
s = 'Hello World!'print(s.index('W',0,9))#返回某个字母的索引值,本例返回6.没有该字母会报错,和FIND比较像,find不会报错,没找到会返回-1print(s.isalnum())#字符串是否文字或数字,是则返回真,否则返回假.(字符串中有除开字母和数字的其他任何字符都返回假)s.isalnum()# False'123aabb'.isalnum()# True'123!@a'.isalnum()# Falses.isalpha()#字符串是否全部是字…
https://blog.csdn.net/guoxinian/article/details/83047746   req = requests.get(url)返回的是类对象 其包括的属性有: req.encoding:返回编码方式 req.text:text返回的是处理过的Unicode型的数据 req.content:content返回的是bytes型的原始数据 content是把内容bytes返回. 而text是decode成Unicode. 如果headers没有charset字符集…
s = 'Hello World!' print(s.capitalize()) #第一个字母大写,其余小写# 输出:Hello world!print(s.swapcase())#大写变小写,小写变大写#输出:hELLO wORLD!print(s.casefold())#全变小写#输出:hello world!print(s.center(50,'-'))#S字符字符串在总50宽度的居中位置,两边用“-”填充#输出:-------------------Hello World!-------…
1.1字符串类型的表示 字符串是字符的序列表示,可以由一对单引号('). 双引号(")或三引号(’")构成.其中,单引号和双引号都可以表示单行字符串,两者作用相同.使用单引号时,双引号可以作为字符串的一部分;使用双引号时,单引号可以作为字符串的一部分.三引号可以表示单行或者多行字符串.3种表示方式如下.单引号字符串:’单引号表示,可以使用"双引号"作为字符串的一部分’ 双引号字符串: "双引号表示,可以使用单引号"作为字符串的一部分"…