yidisonson
yidisonson
采纳率0%
2018-08-12 09:26

求大神解决python爬取淘宝信息的问题

5
  • 淘宝网
  • 信息提取
  • taobao
  • python
  • 爬虫

正在学习mooc里的python爬虫课程,在编写课程里的实例遇到了一些问题。
以下代码想要得到淘宝商品搜索页面中宝贝标题和价格的列表,按照视频上老师的代码写的但是没有出结果,希望有大神看到可以帮忙解答一下。
ps:本人是python初学小透明,如果犯了低级错误希望大家不要介意,谢谢
【代码如下】
import requests
import re

def gerHTMLText(url):
try:
r = requests,get(url)
r.raise_for_status()
r.encoding = 'utf-8'
r.headers = 'Mozilla10'
return r.text
except:
print("杩炴帴澶辫触")

def parsePage(ilt, html):
try:
plt = re.findall(r'\"view_price\":\"[\d.]*\"', html)
tlt = re.findall(r'\"raw_title\":\".*?\"', html)
for i in range(len(plt)):
price = eval(plt[i].split(':')[1])
tltle = eval(tlt[i].split(':')[1])
ilt.append([price, title])
except:
print("")

def printGoodsList(ilt):
tplt = "{:4}\t{:8}\t{:16}"
print(tplt.format("搴忓彿", "浠锋牸", "鍟嗗搧鍚嶇О"))
count = 0
for g in ilt:
count = count + 1
print(tplt.format(count, g[0], g[1]))

def main():
goods = '涔﹀寘'
depth = 2
start_url = 'https://s.taobao.com/search?q=' + goods
infoList = []
for i in range(depth):
try:
url = start_url + '&s=' + str(44*i)
html = getHTMLText(url)
parsePage(infoList, html)
except:
continue
printGoodsList(infoList)

main()

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

7条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 3年前

    爬虫程序依赖网站的html,淘宝网天天在修改网页,稍微修改下,你原来老师给的程序肯定就不行了。你的老师如果不把怎么抓包、分析html的原理告诉你,而是只是给你一些代码,那么纯属坑你钱的“老师”。
    撇开这些不说,你看你的程序里中文都是乱码,也不对啊。

    点赞 1 评论 复制链接分享
  • weixin_44386812 weixin_44386812 1年前

    。。。。我也学了这个课,我爬到的html和网页里的源代码不一样。。。

    点赞 评论 复制链接分享
  • yg13100891659 落霞天宇 3年前

    图片说明我只是初略的看看,具体还有没有其他错误,还望见谅

    点赞 评论 复制链接分享
  • hxw051714107 可爱电饭煲 3年前

    想要爬淘宝这种大网站,必须先做渗透测试,找出漏洞(需要很多时间,不一定能耐找到),然后根据漏洞做爬虫

    点赞 评论 复制链接分享
  • Misszhoudandan “编程”中的翠翠 3年前

    你可以把代码整的规整一些,注意缩进
    我最近也在写了一个爬虫,可以试试看跑一下
    而且一般情况下,你要自己先分析它的html页面的格式,元素标记特征这些,跟着老师敲怕是容易出错吧

    点赞 评论 复制链接分享
  • qq_40499719 _pray 3年前

    一般像淘宝这种都有反爬的措施,新手可以去爬些简单的,比如很经典的妹子图啊等等,给你本书https://download.csdn.net/download/qq_40499719/10599218

    点赞 评论 复制链接分享
  • qq_44408657 北方的南 2年前

    因为在搜索淘宝的时候需要登入,而你这只是简单的爬取,无法登陆,所以爬取不了。

    点赞 评论 复制链接分享