ダウンロードしたPDFの中身が無い

windows 10
python 3.12.3
selenium 4.21.0
webdriver-manager 4.0.1
requests 2.32.2
beautifulsoup4 4.12.3
です。

クレジットの明細のPDFをスクレイピングでダウンロードしようとしてます。

なんとかダウンロードまでこぎ着け、指定のフォルダにPDFを保存できるようにはなったのですが、PDFの中身が空なのです。

PDFをダウンロードするところはボタンになってまして、押したら即ダウンロード、みたいな感じになってます。

ダウンロードするところまでは無事動いているので、ダウンロードして書き込むところのコードをのせます。

python

1for filename, url in zip(d_list_filename, d_list_url):2 sleep(5)3 driver.get(url)4 pdf_url = driver.find_element(By.CSS_SELECTOR, "a#j_idt834").get_attribute("href")5 6 7 # r2 = requests.get(url)8 # r2.raise_for_status()9 # soup2 = BeautifulSoup(r2.content, "lxml")10 # pdf_url = pdf_base_url + soup2.select_one("a#j_idt834").get("href")11 12 13 print(filename, pdf_url)14 sleep(3)15 pdf_file = requests.get(pdf_url)16 pdf_file.raise_for_status()17 18 pdf_path = Path(f"{meisai_path}\{filename}meisai.pdf")19 20 with open(pdf_path, mode="wb") as f:21 f.write(pdf_file.content)

コメントアウトしてるところは、requestsでとりにいったらエラーが出た部分です。
なのでseleniumで取りに行ったらできました。

認証とかに問題があるんでしょうか??
headersに認証の何か設定をして、
requests.get(pdf_url, headers=headers)みたいにすべきなのでしょうか??

宜しくお願いします。

コメントを投稿

0 コメント