python
玩蛇工程师千寻
这个作者很懒,什么都没留下…
展开
-
python中嵌套列表的遍历
如下,需要写两个循环,外循环是对外部列表的遍历,内部循环是对内部列表的遍历,最后b列表就是一个没有嵌套的列表。 a=[[1,2],[3,4],[5,6]] b=[] for m in range(0,3): for n in range(0,2): b.append(a[m][n]) print(b) 结果: [1,2,3,4,5,6] ...原创 2021-02-23 19:11:32 · 1753 阅读 · 0 评论 -
Glidedsky第二关详细解答(结合进程池)
第二关是解决1000个分页数字加减的问题,比第一关多了一个翻页的步骤。 翻页只要用到requests.get的params参数即可。不多说,直接上代码: import requests from lxml import etree import re number_lists = [] url='http://www.glidedsky.com/level/web/crawler-basic-2' headers={ 'User-Agent': 'Mozilla/5.0 (Windows原创 2021-02-23 19:06:15 · 326 阅读 · 4 评论 -
爬虫请求头批量加引号
python中编写爬虫程序通常需要添加请求头,但是从浏览器中复制的请求头没有加引号。 当请求头信息比较多的时候,加引号是一个非常痛苦的事情,所以笔者写了一个小脚本,可以批量给请求头信息添加引号。 import re def MakeHeaders(data): rule=re.compile('(.*): (.*)') results=re.findall(rule,data) for result in results: change="'"+result[0]+"原创 2021-02-19 17:46:51 · 511 阅读 · 0 评论 -
正则表达式实战:结合计数器思想,模拟网站设置用户名的审查
正则表达式主要的功能是按照规则匹配字符。其主要应用的领域之一就是网站设置密码时对用户名的审查。 所谓用户名的审查就是要求密码中只能含有英文字母、数字和下划线等。我们可以使用正则表达式的常用操作符"\w"来实现。 keywords = input("请输入您设置的密码(只能包含数字、字母和下划线):") 笔者自创了一种运用计数器原理审查用户名的方式,这种方法可以把匹配和判断两个逻辑分离开来。这样可以避免逻辑混乱,也方便了对代码的维护。 以下是计数函数和判断函数的源码: def Counter(keyword原创 2021-02-18 20:05:32 · 101 阅读 · 1 评论 -
Glidedsky第一关详细解答
第一关是算是入门级的操作了。唯一比较麻烦的是,你直接用requests获取url的响应数据是不行的,网站要求你登录。 这个时候我们一般有两种方法,一种是手动在Headers头部信息里添加Cookie,另一种是使用selenium自动化登录网页。 Cookie:自行去浏览器里的Headers里复制粘贴到*处。 import requests url='http://www.glidedsky.com/level/web/crawler-basic-1' headers={ 'User-Agent':原创 2021-02-09 16:51:42 · 1088 阅读 · 4 评论 -
爬虫练习网站Glidedsky
最近发现了一个很好的爬虫练习网站Glidedsky,网址:http://www.glidedsky.com/。使用邮箱注册之后就可以开始闯关答题了,题目也非常有意思。 这里面的每一种题目基本是一种类型,通过一个问题基本可以解决一类问题。我也会在之后和大家分享一下解题的想法。 ...原创 2021-02-09 16:38:08 · 1236 阅读 · 5 评论 -
运用爬虫技术开发免费ip代理池
笔者从西拉代理上获取的公开免费代理IP,稳定性较高,使用代码前记得下载requests库。原创 2021-02-03 20:16:51 · 136 阅读 · 0 评论