Day02: запросы, запрашивающие библиотеки, запрос селена библиотека

Просит запрос информации библиотеки ползет IMDb

  - URL запроса https://movie.douban.com/top250

- Запрос вариант 
  ГЭТ - заголовок запроса   User-Agent   Cookies




Запросы на импорт 
импорта повторно 
четкости get_page (URL): 
    ответ = запросы. получить (URL)
     обратный ответ 

Защиту parse_index (HTML): 
    movie_list = re.findall (
         ' .?.?.? <DIV класс = "пункт"> * <эм класс = ""> (*) </ EM> * < .? A HREF = "(. *)"> * <пролет класс = "название"> </ SPAN> *导演(*.?):.?主演(*.?): <бр (*.?) > (. *?) </ р>. *? <промежуток класс = "rating_num". *?> (. *?) </ SPAN>. *? <SPAN> (. *?)人评价</ SPAN> . * <SPAN класс = "Inq"> </ SPAN> (*.?) ' , 
        HTML, 
        re.S) 
    вернуться movie_list 

четкости save_data (фильм): = year_type.strip ( ' \ п ' ) 
    Данные = F '' '
     =============================== 
    фильм Ранжирование : {} топ 
    фильмов URL: {} m_url 
    название фильма: {имя} 
    режиссерам: {} daoyan 
    фильм в главной роли: {} актер 
    Жанр: {} year_type 
    рейтинги фильмов: {точка} 
    обзор фильма: {совершить} 
    фильма: { } убывание
     =============================== 
    \ n- 
    '' '
     Print (Data) 
    с Open ( ' douban_top250.txt ' , ' ' , кодирование = ' UTF - 8. ' ) AS F:
        f.write (данные) 
        печать (е ' 电影: {имя}写入成功... ' ) , 

если __name__ == ' __main__ ' : 
    Num = 0 
    для линии в диапазоне ( 10 ): 
        URL = F ' https: // movie.douban.com/top250?start={num}&filter= ' 
        Num + = 25 
        печать (URL) 
        index_res = get_page (URL) 
        movie_list = parse_index (index_res.text)
         для фильма в movie_list:
            save_data (фильм)

 

Библиотека запрос Два селеном 1. Что такое селен? Открытие представляет собой автоматизированное средство тестирования, принцип привода браузер должен выполнить некоторые хорошие действия. Рептилия природа браузера аналоговый, так что вы можете использовать его для рептилий.  




2. Зачем использовать селен?
Преимущества:
- JS выполнение кода
- нет необходимости анализировать сложные процессы коммуникации
- сделать всплывающие окна, раскрывающиеся и другие операции на браузере
- ***** получить динамические данные
- *** треснуть аутентификации входа в систему

Недостатки:
- низкая эффективность

3, установка и использование
1. Установка библиотека запрос селена:
PIP3 установка селена

2. Вы должны установить браузер
, «Google» или Firefox

3. Установите драйвер браузера
http://npm.taobao.org/mirrors/chromedriver/2.38/
Windows:
Скачать win32 диск

 

Селен библиотека запрос ползет процесс сетевой Jingdong

с селеном импорта WebDriver
 от импорта selenium.webdriver.common.by По
 из selenium.webdriver.common.keys импорта ключей
 от selenium.webdriver.support импорта expected_conditions как EC
 от selenium.webdriver.support.wait импорта WebDriverWait 
импорта время 

временного импорта 
драйвера = webdriver.Chrome (г ' C: \ Users \ HP \ Desktop \ chromedriver.exe ' )
 попробуйте : 
    драйвер. получить ( ' https://www.jd.com/ ' ) 
    ждать = WebDriverWait (водитель, 10 )
    input_tag = wait.until (EC.presence_of_element_located ( 
        (By.ID, ' ключ ' ) 
    )) 
    time.sleep ( 5 ) 
    input_tag.send_keys ( ' 公仔' ) 
    input_tag.send_keys (Keys.ENTER) 
    time.sleep ( 20 )
 , наконец , : 
    driver.close ()

 

Запрос селена Войти Baidu библиотеки рептилий

с селеном импортом WebDriver
 из selenium.webdriver.common.keys импорт Ключей 
время импорта 

время импорта 
драйвер = webdriver.Chrome (г ' C: \ Users \ HP \ Desktop \ chromedriver.exe ' )
 попробуйте : 
    driver.implicitly_wait ( 10 ) 
    драйвера. получают ( ' https://www.baidu.com/ ' ) 
    time.sleep ( 5 ) 
    login_link = driver.find_element_by_link_text ( ' 登录' ) 
    login_link.click () 
    time.sleep ( 1 )
    user_login = driver.find_element_by_id ( ' TANGRAM__PSP_10__footerULoginBtn ' ) 
    user_login.click () 
    time.sleep ( 1 ) 
    # 3 , find_element_by_class_name 
    пользователь = driver.find_element_by_class_name ( ' пропускания ввода текста-имя_пользователя ' ) 
    user.send_keys ( ' 1847702753 @ QQ. ком ' ) 
    # 4 , find_element_by_name 
    PWD = driver.find_element_by_name ( ' пароль ' ) 
    pwd.send_keys ( ' ***** ') 
    Представить = driver.find_element_by_id ( ' TANGRAM__PSP_10__submit ' ) 
    submit.click () 
    login_link = driver.find_element_by_partial_link_text ( ' ' ) 
    login_link.click () 
    login2_link = driver.find_element_by_css_selector ( ' .tang пасс footerBarULogin ' ) 
    login2_link.click ( ) 
    DIV = driver.find_elements_by_tag_name ( ' DIV ' ) 
    печати (дел) 
    time.sleep ( 20 )
 , наконец : 
    driver.close ()

 















































рекомендация

отwww.cnblogs.com/zhoujie333/p/11122936.html