正在学习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()
一般像淘宝这种都有反爬的措施,新手可以去爬些简单的,比如很经典的妹子图啊等等,给你本书https://download.csdn.net/download/qq_40499719/10599218
你可以把代码整的规整一些,注意缩进
我最近也在写了一个爬虫,可以试试看跑一下
而且一般情况下,你要自己先分析它的html页面的格式,元素标记特征这些,跟着老师敲怕是容易出错吧
爬虫程序依赖网站的html,淘宝网天天在修改网页,稍微修改下,你原来老师给的程序肯定就不行了。你的老师如果不把怎么抓包、分析html的原理告诉你,而是只是给你一些代码,那么纯属坑你钱的“老师”。
撇开这些不说,你看你的程序里中文都是乱码,也不对啊。
想要爬淘宝这种大网站,必须先做渗透测试,找出漏洞(需要很多时间,不一定能耐找到),然后根据漏洞做爬虫
我只是初略的看看,具体还有没有其他错误,还望见谅
因为在搜索淘宝的时候需要登入,而你这只是简单的爬取,无法登陆,所以爬取不了。
。。。。我也学了这个课,我爬到的html和网页里的源代码不一样。。。