在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數(shù)據(jù)分析&挖掘  Python/ 模仿b站做了一個(gè)網(wǎng)頁爬蟲,但是運(yùn)行錯(cuò)誤,不知道是哪里出錯(cuò)了。

模仿b站做了一個(gè)網(wǎng)頁爬蟲,但是運(yùn)行錯(cuò)誤,不知道是哪里出錯(cuò)了。

代碼如下:

import requests
import re

def getHTMLText(url):
    try:
        r = requests.get(url, timeout = 1000)
        r.raise_for_status()
        r.encoding = r.apparent.encoding
        return r.text
    except: 
        return ''

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

def printGoodsList(ilt):
    tlpt = '{:4}\t{:20}\t{:8}'
    print(tlpt.format('序號','房子','價(jià)格'))
    count = 0
    for g in ilt:
        count = count + 1
        print(tlpt.format(count,g[0],g[1]))
  
def main():
    depth = 30
    start_url = 'https://sf.taobao.com/list/50025969__1___%BA%BC%D6%DD.htm?spm=a213w.7398504.pagination.1.Hn2fOe&auction_start_seg=-1'
    infoList = []
    for i in range(2,1,depth):
        try:
            url = start_url + '&page=' + str(i)
            html = getHTMLText(url)
            parsePage(infoList, html)
        except:
            continue
    printGoodsList(infoList)

main( )

運(yùn)行結(jié)果如下圖
圖片描述

回答
編輯回答
青檸

注意正則的*號,看圖片

import requests
import re
def text():

for a in range(1,13):
    url = 'https://sf.taobao.com/list/50025969__1___%BA%BC%D6%DD.htm?spm=a213w.7398504.pagination.3.W9af3L&auction_start_seg=-1&page='+str(a)
    html = requests.get(url).text
    ids = re.findall('"id":(.*?),"itemUrl"',html)
    names = re.findall('"title":"(.*?)"',html)
    prices = re.findall('"initialPrice": (.*?) ,"currentPrice"',html)
    find = zip(ids,names,prices)
    for txt in find:
        print(txt)

if name == '__main__':

print('\t\t\t序號\t\t\t','\t\t\t\t\t地點(diǎn)\t\t\t','\t\t\t\t\t\t價(jià)格')
text()

圖片描述

2017年1月24日 20:29
編輯回答
傲寒

主要是兩個(gè)原因:
一是你生成http請求的時(shí)候,沒有http header,你根本沒有抓到頁面
二是這個(gè)網(wǎng)頁是通過js動態(tài)生成的,你要拿到數(shù)據(jù)必須根據(jù)js代碼來看他怎么寫的數(shù)據(jù)接口

2017年8月31日 01:36
編輯回答
傻叼

頁面我沒看,從代碼上說:
def main():

depth = 30
start_url = 'https://sf.taobao.com/list/50025969__1___%BA%BC%D6%DD.htm?spm=a213w.7398504.pagination.1.Hn2fOe&auction_start_seg=-1'
infoList = []
for i in range(2,1,depth):
    try:
        url = start_url + '&page=' + str(i)
        html = getHTMLText(url)
        parsePage(infoList, html)
    except:
        continue
printGoodsList(infoList)

中的range區(qū)間寫的有問題

2017年8月5日 21:56