urllib下的模块

爬虫代码基本步骤

第一步:

分析网站,寻找目标URL

第二步:

分析目标URL参数(get,post)

get和post请求的区别:

get请求参数部分:把?后面的参数写在字典中,然后使用parse.urlencode(字典参数),得到了url编码格式的字符串

post请求参数部分:是处理表单数据,将变淡u数据放在字典中,然后使用parse.urlencode(字典参数),得到了url编码格式的字符串使用encode方法将字符串转为bytes类型

第三步(发起请求):

(1):设置请求头,添加UA(cookie,referer)
(2):实例化一个Request对象(request.Request)
(3):根据实例化的Request对象,使用request.urlopen()方法发起请求

第四步(处理响应结果):

(1):Ajax请求得到的一般是json数据,使用json模块处理,使用json.loads将json字符串,转为python数据类型
(2):对于飞非结构化数据(数据在html页面中),可以使用re正则模块提取数据(xpath,BeautifulSoup,pyquery)
(3):如果还有其他url需要发起请求则继续发起请求

第五步(数据的持久化):

(1):文件存储(json,csv,txt。。。。。。)
(2):数据库存储(mongodb,MySQL,redis。。。。。。)

推荐阅读更多精彩内容

  • Getting Started Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为...
    Eva_chenx阅读 25,744评论 0 13
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 29,335评论 2 89
  • 利用HTTP协议向服务器传参的几种途径、响应、Cookie、Session、类视图、中间件 注意: 1>Dja...
    Cestine阅读 637评论 0 2
  • https://www.cnblogs.com/xiao-apple36/p/8433400.html urlli...
    长风哥哥阅读 4,750评论 0 1
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 9,986评论 1 29
  • 上有两老人,下有一儿子,想要一个女儿,儿女齐全,阖家安康,这是我想要的生活!所以啊,愁人,不敢要孩子,怕不是我想要...
    白如纸阅读 61评论 0 1
  • 公司对六种勤快老实人100%要开掉辞退,看你在哪一类。 第一种:对分内之事每天磨洋工,做样子,加班到晚上的人 第二...
    徐新明阅读 1,536评论 0 3
  • 母亲住院已经二十四天了。六月一日,本是儿童们欢乐的节日,母亲突然昏倒在前门口的石墩上。邻居们发现及时,一边拨打12...
    幸运的Disney阅读 131评论 0 2
  • 看到“什么决定你的命运”这章我打算复盘一回 一、改变我命运的三个选择 退学:玩最重要,当下舒服最重要 离开家乡:见...
    华强是个好同学阅读 78评论 2 1