今天学习爬取数据对网页的解析:
网页请求的过程分为两个环节:
- Request (请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。
Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求
网页请求的方式也分为两种:
- GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。
- POST:相比 GET 方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息
get方法:
1.import requests #导入requests包 2.url = 'http://www.cntour.cn/' 3.strhtml = requests.get(url) #Get方式获取网页数据 4.print(strhtml.text)
post方法:
1.import requests #导入requests包 2.import json 3.def get_translate_date(word=None): 4. url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule' 5. From_data={'i':word,'from':'zh-CHS','to':'en','smartresult':'dict','client':'fanyideskweb','salt':'15477056211258','sign':'b3589f32c38bc9e3876a570b8a992604','ts':'1547705621125','bv':'b33a2f3f9d09bde064c9275bcb33d94e','doctype':'json','version':'2.1','keyfrom':'fanyi.web','action':'FY_BY_REALTIME','typoResult':'false'} 6. #请求表单数据 7. response = requests.post(url,data=From_data) 8. #将Json格式字符串转字典 9. content = json.loads(response.text) 10. print(content) 11. #打印翻译后的数据 12. #print(content['translateResult'][0][0]['tgt']) 13.if __name__=='__main__': 14. get_translate_date('我爱中国')
还有就是要学会使用css选择器,方便对指定数据的爬取