0
最初のスクリプトを実行すると結果が取得されますが、2番目のスクリプトを実行すると何も得られません。必要な結果を得るために2番目のスクリプトに欠けているものが見つかりません。最初のスクリプトで使用されたURLは、開発者ツールで見つかった要件と連結されています。パラメータと一緒にベースURLを使用すると、2番目のスクリプトが機能しないのはなぜですか?GET要求を扱う面倒な問題
import requests
from lxml import html
response = requests.get("http://www.ebay.com/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xfunny+bear.TRS0&_nkw=funny+bear&_sacat=237")
tree=html.fromstring(response.text)
titles=tree.xpath("//h3[@class='lvtitle']")
for title in titles:
name=title.xpath(".//a[@class='vip']/text()")[0]
print(name)
import requests
from lxml import html
payload={'_from':'R40','_trksid':'p2050601.m570.l1313.TR0.TRC0.H0.Xfunny+bear.TRS0','_nkw':'funny+bear','_sacat':'237'}
headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36'}
response = requests.get("http://www.ebay.com/",data=payload,headers=headers)
tree=html.fromstring(response.text)
titles=tree.xpath("//h3[@class='lvtitle']")
for title in titles:
name=title.xpath(".//a[@class='vip']/text()")[0]
print(name)
おかげアーニー、あなたの迅速かつ効果的なソリューションのために。知っておくべきこと:正確なURLを取得するにはどうすればよいですか?あなたのスクリプトのURLを見ると、私の投稿の最初のスクリプトで使用されていて、いくつかの必須フィールドが連結されていることがわかります。 – SIM
@ SMth80 通常、URLとクエリ文字列は、文字 '?'で分割されます。 'https://www.example.com/path1/path2?key1 = value1&key2 = value2'のような指定されたURLに対して、' https:// www.example.com/path1/path2'は正確なURLが特定のリソース(Webページ)またはHTTP APIの 'key1 = value1'と' key2 = value2'は、 'params'に入れる必要のあるクエリ条件です。 – Ernie
すべてのおかげでアーニー。 – SIM