1
私は、torrentサイトの詳細を取得するためにPythonでいくつかのコードを書いています。しかし、コードを実行すると、期待通りの結果が得られました。このクローラの唯一の問題は、修正できない最初のページの内容をスキップすることです(ページングURLが2から始まるように)。これに関するどんな助けも非常に感知できるでしょう。スタートページからクローラの解析データを作成する方法
import requests
from lxml import html
page_link = "https://yts.ag/browse-movies"
b_link = "https://yts.ag"
def get_links(main_link):
response = requests.get(main_link).text
tree = html.fromstring(response)
for item in tree.cssselect('ul.tsc_pagination a'):
if "page" in item.attrib["href"]:
movie_details(b_link + item.attrib["href"])
def movie_details(link):
response = requests.get(link).text
tree = html.fromstring(response)
for titles in tree.cssselect("div.browse-movie-wrap"):
title = titles.cssselect('div.browse-movie-bottom a.browse-movie-title')[0].text
link = titles.cssselect('div.browse-movie-year')[0].text
rating= titles.cssselect('figcaption.hidden-xs h4.rating')[0].text
genre = titles.cssselect('figcaption.hidden-xs h4')[0].text
genre1 = titles.cssselect('figcaption.hidden-xs h4')[1].text
print(title, link, rating, genre, genre1)
get_links(page_link)
ありがとうPRMoureu、あなたの答えです。あなたのソリューションは常に機能します。私は最近、多くのWebサイトでこの手法を使用していることに気付きました。ページネーションURLに最初のページを含めるのではなく、だから、もっと良いアイデアはありませんか? – SIM
@ SMth80スタートページに「ページ1」の代わりに項目が表示される最も簡単な方法のようですが、クエリで収集された最初のページ番号を確認するためのテストを追加することもできます。 2 – PRMoureu
から始めました。私は最初にそれをテストしたので、私はあなたのコードが常に動作すると答えました。あなたが見てみるべきであるもう1つのこと - 私がぺージされたURLを擦ったとき、私はいくつかの重複したURLがあることが分かった。その回避策はありますか?あなたの余暇の中でそれについて考えるかもしれません。 PRMoureuに感謝します。 – SIM