感謝昨天幾位善良朋友的指導,回去改了測試了,還是不行,繼續尋找python高手,現在的問題是python運作傳回0提示正常,但就是沒有結果,輸出的文本是空的,我記得有人講過,用get請求的,參數是直接反映在url裡面的,為key1=value1&key2=value2形式,如果是post請求,那麼表單參數是在請求體中,還是key1=value1&key2=value2的形式,是以,我是按這麼寫的,結果運作還是不行,具體如下,不知道問題到底出在那裡,肯請高手,詳細指點我這個大白。
# 程式程式設計:霧影青山
# 開發時間:2022/11/18 周一 22:53
# -*- endoding: utf-8 -*-
import requests
import re
'''
KKK://網頁連結
#此處為資料網址連結,因頭條會判定成商品,是以就打亂了,把https,換成了KKK,把club.jd換成了HHH,檢查代入的時候注意更換。
&productId=100038160312
&score=0
&sortType=5
&page=0
&pageSize=10
&isShadowSku=0
&fold=1
'''
def main():
first = 1
for i in range(1, 50):
url = 'KKK://網頁連結'
#此處為資料網址連結,因頭條會判定成商品,是以就打亂了,把https,換成了KKK,把club.jd換成了HHH,檢查代入的時候注意更換。
finalurl = url + str(i) + '&pageSize=10&isShadowSku=0&fold=1'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'}
data = requests.get(url=finalurl,headers=header).text
#有朋友講過,說get的url是拼接體,是以,我這裡就寫的URL=finalurl,很明顯拼接體啊。
remodel_comment = re.compile(r'\"content\":\"([^"]+)\",\"(?:creationTime|vcontent)\"')
comment_list = remodel_comment.findall(data)
for i in comment_list:
print(first,":",i)
first += 1
#把抓出的數量寫到TXT内,注意,以下不能放在main()的後面,否則以下data就在三界之外了,跟上面的資料聯系不上,報錯。
html=str(data)#抓取的頁面進行編碼,即将變量資料data指派成常量html。
# 将編碼後的頁面輸出為txt文本存儲
file = open("C:\\Users\\Administrator\\Desktop\\HHH", "w")
# \\是将位址改為檔案的絕對路徑
# 或者是位址前面加r,例為r'C:\\Users\\Administrator\\Desktop\\HHH.txt'#。
# 這兩種方法都是為了防止python将一個反斜杠誤以為轉義标記#
file.write(html)
file.close()
main()
到底要不要把這個post請求變成get請求呢?
即把請求參數通過"?key1=value1&key2=value2"拼接在url當中,然後以get方式請求,但是就是不行啊,是這樣的嗎:response = requests.get(url,headers=headers),其中url為拼接的url
還是仍然以post請求?将參數放在data中:response = requests.post(url,headers=headers,data=data),這裡的url是不是post url?
請程式設計大佬指正!!!
#程式設計##學習##求指導##秋日生活打卡季##頭條##程式員##py thon#