私は何千もの記事を保管する記事管理システム全体を削っています。私のスクリプトは動作しますが、問題は、beautifulsoup
とrequests
はどちらも、そのページが実際の記事か記事が見つからないページかを判断するのに時間がかかります。私は約4000の記事を持っており、計算によって、スクリプトが実行される時間は数日で完了します。類似のパターンの有効なURLを抽出するにはどうすればよいですか?
for article_url in edit_article_list:
article_edit_page = s.get(article_url, data=payload).text
article_edit_soup = BeautifulSoup(article_edit_page, 'lxml')
# Section
if article_edit_soup.find("select", {"name":"ctl00$ContentPlaceHolder1$fvArticle$ddlSubMenu"}) == None:
continue
else:
for thing in article_edit_soup.find("select", {"name":"ctl00$ContentPlaceHolder1$fvArticle$ddlSubMenu"}).findAll("option", {"selected":"selected"}):
f.write(thing.get_text(strip=True) + "\t")
最初のif
は、URLが良いか悪いかを判断します。 edit_article_list
がで構成されています
for count in range(87418,307725):
edit_article_list.append(login_url+"AddEditArticle.aspxArticleID="+str(count))
私のスクリプト今、悪いと良いのURLをチェックして、コンテンツを掻き取ります。 URLリストを作成中にrequests
を使用して同様のパターンの有効なURLを取得する方法はありますか?リダイレクトを許可すると、ステータスコードをチェックしないようにする必要があり、存在しない記事スキップする
あなたの 'edit_article_list'は完全で正しいですか?平均して各ページが解析するのにどれくらい時間がかかりますか? –
@JonClements問題は、範囲87418〜307725の間にいくつかの数字がないことです。たとえば、90000〜10000が不足している可能性があります。 –
'edit_article_list'は完全ではありません。それはあまりにも悪いURLを含んでいます。 1ページの解析には約5秒かかります。しかし、すべての記事のリストを使って解析しようとすると、多くの時間がかかります –