首页 文章 精选 留言 我的

精选列表

搜索[Python],共10000篇文章
优秀的个人博客,低调大师

Python | Xpath实战训练

一、前言 今天给大家分享的是,如何在cmd和pycharm中启动自己的spider以及Xpath的基本介绍,并利用Xpath抓取伯乐在线单篇文章基本信息。 二、Xpath介绍 1. 维基百科看 Xpath XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。 XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作 为一个通用的、介于XPointer与XSL间的语法模型。但是XPath很快的被开发者采用来当作小型查询 语言。 2. 我来扯扯Xpath 1. Xpath使用路径表达式在xml和html中进行导航(据说访问速度、效率比bs4快) 2. Xpath包含标准函数库 3. Xpah是一个W3c的标准 3. Xpath基本使用语法 三、看代码,边学

优秀的个人博客,低调大师

python实现post请求

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/81568411 pyload={"token": "2280d841c47074107bb903169cd78d4d0a1345970ec6380d0909efc7e77a25cb","sign":"700eae16811bd1844e21c31c3ed0f5b0","page":"3","order":"0","limit":"12","map":""} headers={'Host': 'usedcar.auto.sina.com.cn', 'Connection': 'keep-alive', 'Content-Length': '186', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Origin': 'http://usedcar.auto.sina.com.cn', 'X-Requested-With': 'XMLHttpRequest', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.0.1471.813 Safari/537.36', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Referer': 'http://usedcar.auto.sina.com.cn/buycar/s/%E8%AF%B7%E8%BE%93%E5%85%A5%E5%93%81%E7%89%8C%E6%88%96%E8%BD%A6%E5%9E%8B', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.8', } d=requests.post(url,data=payload,headers=headers) print(d) 然后服务器报错,但是一样的数据在filder里面却是对的,这是什么原因呢? 后来通过requests的官方文档发现,有这么一句话: 很多时候你想要发送的数据并非编码为表单形式的。如果你传递一个string而不是一个dict,那么数据会被直接发布出去。 通过抓包软件fillder去看看我在pycharm里面请求和在fillder里面请求的东西来看,最后返回来的数据的形式完全就是不一样了,所以对应正确的格式,我把其转换为string,得出结果和正确一样的, 可以正确返回的表单的值是这样子的: {"token":"2280d841c47074107bb903169cd78d4d0a1345970ec6380d0909efc7e77a25cb","sign":"700eae16811bd1844e21c31c3ed0f5b0","page":"3","order":"0","limit":"12","map":""} 然后我的目的就是把那些参数化为输出为上面的数据那样子。 所以最后形式为以下那样子: payload = '{"token":'+' "2280d841c47074107bb903169cd78d4d0a1345970ec6380d0909efc7e77a25cb"'+',"sign":'+'"700eae16811bd1844e21c31c3ed0f5b0"'+',"page":'+'"3"'+',"order":'+'"0"'+',"limit":'+'"12"'+',"map":'+'""'+'}' 接下来发现又是一个很尴尬的事情,服务器直接报错,504错误,开始还去找这是什么原因,后来在网上看到是这样子说的: wireshark抓包发现: 用reqeusts和curl发送的数据都是一样的,但是,curl有带一个header:"Content-Type": "application/x-www-form-urlencoded" 看来requests也需要加上这个头: headers = {"Content-Type": "application/x-www-form-urlencoded"} 最后我把我内容的headers换成以上headers,结果还真的是成功了。 虽然为什么是那个头,我还真的不知道是什么一个的原因 。后续知道会陆续去更新的。 马上看完文档发现一个问题,就马上来记下来,在新的版本的requests里面,除了对dict格式去编码以外,还可以使用json格式直接去传递,然后它就会被自动编码。这是 2.4.2 版的新加功能: d=requests.post(url,json=data,headers=headers) print d print d.text

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册