Переход на следующую страницу во время очистки - PullRequest
0 голосов
/ 20 февраля 2019

Переход на следующую страницу при просмотре веб-страниц и изменение формата даты

url_list - это список URL, один из которых будет http://www.moneycontrol.com/company-article/cadilahealthcare/news/CHC#CHC Я обнаружил, что для перехода на разные годыи на разных страницах есть код href, но я не могу его использовать.Вот код, который извлекает ссылки со страницы 1. Я хочу сделать это для всех доступных лет и страниц.

Также, когда я извлекаю дату из HTML, она имеет формат [Последнее обновление:07 февраля 2019 15:05 IST |Источник: Moneycontrol.com] Мне нужна дата в формате мм / дд / гг, как бы я это сделал?

for urls in url_list:
    html = requests.get(urls)
    soup = BeautifulSoup(html.text,'html.parser') # Create a BeautifulSoup object 

       # Retrieve a list of all the links and the titles for the respective links
       #word1,word2,word3 = "US","USA","USFDA"

    sub_links = soup.find_all('a', class_='arial11_summ')
    for links in sub_links:
        sp = BeautifulSoup(str(links),'html.parser')  # first convert into a string
        tag = sp.a
          #if word1 in tag['title'] or word2 in tag['title'] or word3 in tag['title']:
        category_links = Base_url + tag["href"]
        List_of_links.append(category_links)
        time.sleep(3)

Что я хочу сделать, это удалить первую страницу, а затем перейти кна следующей странице и т. д. после очистки доступных страниц за определенный год код переходит к следующему году.Пожалуйста, объясните, как бы я поступил так.

1 Ответ

0 голосов
/ 20 февраля 2019

Перейти к следующей странице:

Извлечь дату: подстрока, чтобы получить только дату и время, затем проанализировать время и часовой пояс, как это

Я обновил установленный часовой пояс с помощью pytz

input = 'Feb 07, 2019 03:05 PM IST'
str_time = input[:len(input) - 4]
str_timezone = input[len(input) - 3:]

datetime_object = datetime.strptime(str_time, '%b %d, %Y %I:%M %p')
if str_timezone == 'IST':
    # base on https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
    # assume it's Indian/Mauritius
    tz = pytz.timezone('Indian/Mauritius')
else:
    tz = pytz.timezone('UTC')

output = tz.localize(datetime_object)
# test
print(output.strftime('%X %x %z'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...