Извлечение URL из файла для очистки - PullRequest
0 голосов
/ 26 сентября 2018

Я сделал скребок и хотел бы, чтобы функция "page_link =" "" проверяла каждый URL, сохраненный в файле JSON, XML или SQL.

Может ли кто-нибудь указать мне направление, чтобы я мог научиться делать эту динамику вместо статической?

Вы не должны давать мне ответ, просто укажите мне, где я могу узнать больше о том, что я должен делать.Я еще учусь.

    from bs4 import BeautifulSoup
import requests
print('step 1')
#get url
page_link = "<random website with info>"
print('step 2')
#open page
page_response = requests.get(page_link, timeout=1)
print('step 3')
#parse page
page_content = BeautifulSoup(page_response.content, "html.parser")
print('step 4')
#naam van de pagina
naam = page_content.find_all(class_='<random class>')[0].decode_contents()
print('step 5')
#printen
print(naam)

1 Ответ

0 голосов
/ 26 сентября 2018

JSON кажется подходящим инструментом для работы.XML и SQL немного сложны для простой функциональности, которая вам нужна.Кроме того, Python имеет встроенную функцию чтения / записи json (json достаточно похож на Python dict во многих отношениях).

Просто ведите список сайтов, которые вы хотите использовать, в файле jsonаналогично этому (поместите его в файл с именем test.json):

{
    "sites": ["www.google.com",
              "www.facebook.com",
              "www.example.com"]
}

Затем выполните очистку для каждого из следующих сайтов:

import json
with open('test.json') as my_json:
    json_dict = json.load(my_json)
for website in json_dict["sites"]:
    print("About to scrape: ", website)

    # do scraping
    page_link = website
    ...

это выдаст (если вы удалите...):

About to scrape:  www.google.com
About to scrape:  www.facebook.com
About to scrape:  www.example.com

Просто поместите оставшуюся логику, которую вы хотите использовать, чтобы выполнить очистку (как у вас выше в вопросе) в # do scraping комментарий.

...