爬虫记(一) - 发送网络请求,解析JSON与静态HTML

1.发送网络请求

 

import requests

r = requests.Session()
headers = {'user-agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0'}
data = dict(username='123', password='456')
result = r.get('http://abc.com/login', headers=headers, params = data)
print(result.text)

2.解析JSON数据

import json

group_json = json.loads("{JSON字符串}")

json.loads

Deserialize s (a str, bytes or bytearray instance containing a JSON document) to a Python object using this conversion table.

反序列化(解析)一个包含JSON文档的字符串=>Python对象.

json.load

Deserialize fp (a .read()-supporting text file or binary file containing a JSON document) to a Python object using this conversion table.

解析一个文件(解析包含JSON文档的文本文件或者二进制文件)=>Python对象.

主要资料: 使用Python解析JSON详解 - 落叶的博客 - 博客园

个人感觉Python中的JSON解析最智能的是, 能够生成Dict和List组合的对象, 比其它强类型语言的JSON解析更加智能.

3.解析HTML数据

主要参考资料: python爬虫之PyQuery的基本使用 - Charles.L - 博客园

PyQuery的输入有三种①字符串②文件③网站

 - 原文第1节: python字符串3个引号是支持换行

PyQuery的查找:与JQuery类似,基于标签(直接写)、CSS类(.类名)、ID(#ID名)等进行查找, 在例子中发现类名用[].

- <PyQuery对象>('筛选条件')

- 之前做过H5开发,对这些比较熟悉

值的获取:①属性: <PyQuery对象>.attr.属性名, 或<PyQuery对象>.attr("属性名")②内容<PyQuery对象>.text()

操作: ①增删属性addClass(), removeClass()②修改/添加属性attr('key','val'), 添加修改css('key','val')③删除标签<>.find('筛选条件').remove()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值