爬虫之京东年度账单

前几天支付宝上给出了年度账单,也手痒痒想看看京东的年度账单。找了很久,发现官方没有给。那我就试着做一个呗

结构

使用的是requestsBeautifulsoup4

  • 每个订单是一个tbody,但是遇到拆分的订单,就会拆成订单个数加1的结构,第一个是一个id为parent-*的tbody,这个里面有收件人姓名,订单时间,订单号码,总金额。但是下面的拆分订单也有自己的订单号,订单金额和收货人姓名。所以对于我来说,这个parent的tbody可以直接略过。

  • 这样, 直接找到所有的id为tb-***的tbody就是所有的订单了。这里的订单只有一个总价,和收货人姓名都在每个列表项的第一个列表中,可以直接find就行了。

  • 下面就是循环每个class为tr-bd的tr项拿到每个商品的名称、商品的链接、商品个数。但是比较扯的是。很多订单下面会又一个class为tr-bd sep-tr-bd的空白标签,作用就是给两个商品中间加一行空格…这个有点坑,用这个代码能搞定parent.find_all(lambda tag: tag.name == 'tr' and tag.get('class') == ['tr-bd']) 就得到了只有tr-bd的tr了。

结果

  • 按理说这个爬虫已经完工了,我直接以时间为key,其他的属性一一循环添加就完事了。但是…但是…我抓到的页面第一页是正常的,但是后面的页面随机性的出现
<a clstag="click|keycount|orderinfo|order_product" href="" target="_blank">
<img class="err-product" data-lazy-img="" height="60" src="//misc.360buyimg.com/lib/img/e/blank.gif" title="" width="60"/>
a>
div>
<div class="p-msg"><div class="p-name">
<a class="a-link" clstag="click|keycount|orderinfo|order_product" href="" target="_blank" title="">a>

这一点代码多有多少blank、error的字样…醉了

  • 以我现在的时间和能力,这个爬虫也只能到这结束了,我相信京东如果做反爬虫的话,我现在的能力还是反反爬虫还是不行的。还是好好工作,试试其他的吧…

  • 不过我之后会做出来的,嗯哼。我都计划用这个结果试试Python和MySQL链接的部分了,你给我看这个?!。

吐槽

**这个Markdown编辑器真的好难用**

你可能感兴趣的:(Python爬虫)