#以下只是爬取一页可以通过for循环的办法来爬取两页三页甚至更多,
这是for in 的用法>>>languages = ["C", "C++", "Perl", "Python"] >>> for x in languages:... print (x)... CC++PerlPython>>>
import re
import requests
def gettext(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return"wrong"
def filltext(ilt,html):
try:
string1=re.findall(r'\"view_price\"\:\"[\d.]*\"',html)
string2=re.findall(r'\"raw_title\"\:\".*?\"',html)
for i in range(len(string1)):
price=eval(string1[i].split(':')[1])
title=eval(string2[i].split(':')[1])
ilt.append([price,title])
except:
print("no")
def printtext(ilt):
try:
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]))
except:
print("nono")
def main():
goods='口红'
url='https://s.taobao.com/search?q='+goods
list1=[]
html=gettext(url)
filltext(list1,html)
printtext(list1)
main()
这个爬虫没有用bs4,因为看到搜索页面的源代码发现,商品信息全部放在一个标签里面,所以不需要解析页面,直接用re搜索就很简单。