Day02:requests请求库,selenium请求库

一 requests请求库爬取豆瓣电影信息

  - 请求url https://movie.douban.com/top250

- 请求方式
  GET

- 请求头
  user-agent
  cookies
import requests
import re
def get_page(url):
    response=requests.get(url)
    return response

def parse_index(html):
    movie_list = re.findall(
        '<div class="item">.*?<em class="">(.*?)</em>.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?导演: (.*?)主演: (.*?)<br>(.*?)</p>.*?<span class="rating_num".*?>(.*?)</span>.*?<span>(.*?)人评价</span>.*?<span class="inq">(.*?)</span>',
        html,
        re.S)
    return movie_list

def save_data(movie):
    top,m_url,name,daoyan,actor,year_type,point,commit,desc=movie
    year_type=year_type.strip('\n')
    data=f'''
    ===============================
    电影排名:{top}
    电影url:{m_url}
    电影名称:{name}
    电影导演:{daoyan}
    电影主演:{actor}
    电影类型:{year_type}
    电影评分:{point}
    电影评论:{commit}
    电影简介:{desc}
    ===============================
    \n
    '''
    print(data)
    with open('douban_top250.txt','a',encoding='utf-8')as f:
        f.write(data)
        print(f'电影:{name}写入成功...')

if __name__ == '__main__':
    num=0
    for line in range(10):
        url=f'https://movie.douban.com/top250?start={num}&filter='
        num+=25
        print(url)
        index_res=get_page(url)
        movie_list=parse_index(index_res.text)
        for movie in movie_list:
            save_data(movie)

 

二 selenium请求库  
1、什么是selenium?
期初是一个自动化测试工具,
原理是驱动浏览器执行一些一定好的操作。
爬虫本质上就是模拟浏览器,所以可以使用它来做爬虫。

2、为什么要使用selenium?
优点:
- 执行js代码
- 不需要分析复杂的通信流程
- 对浏览器做弹窗、下拉等操作
- ***** 获取动态数据
- *** 破解登录验证

缺点:
- 执行效率低

3、安装与使用
1. 安装selenium请求库:
pip3 install selenium

2. 必须安装浏览器
"谷歌"或者火狐

3.安装浏览器驱动
http://npm.taobao.org/mirrors/chromedriver/2.38/
windows:
下载win32驱动

 

selenium请求库爬虫京东网进程

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
import time

import time
driver= webdriver.Chrome(r'C:\Users\HP\Desktop\chromedriver.exe')
try:
    driver.get('https://www.jd.com/')
    wait = WebDriverWait(driver, 10)
    input_tag = wait.until(EC.presence_of_element_located(
        (By.ID, 'key')
    ))
    time.sleep(5)
    input_tag.send_keys('公仔')
    input_tag.send_keys(Keys.ENTER)
    time.sleep(20)
finally:
    driver.close()

 

selenium请求库爬虫登录百度

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

import time
driver= webdriver.Chrome(r'C:\Users\HP\Desktop\chromedriver.exe')
try:
    driver.implicitly_wait(10)
    driver.get('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
    user = driver.find_element_by_class_name('pass-text-input-userName')
    user.send_keys('1847702753@qq.com')
    # 4、find_element_by_name
    pwd = driver.find_element_by_name('password')
    pwd.send_keys('*****')
    submit = 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-pass-footerBarULogin')
    login2_link.click()
    div = driver.find_elements_by_tag_name('div')
    print(div)
    time.sleep(20)
finally:
    driver.close()

 















































转载于:https://www.cnblogs.com/zhoujie333/p/11122936.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值