python实现网页爬虫_python实现页面爬虫(selenium,pyppeteer)

本文介绍了使用Python的selenium和Pyppeteer库进行网页爬虫的两种方法。首先展示了selenium结合requests和pandas获取百度搜索URL的流程,然后通过Pyppeteer优化爬取速度,利用协程提高效率,减少了搜索时间。同时,文章提到了一些爬虫过程中需要注意的事项,如设置浏览器参数和避免超时问题。
摘要由CSDN通过智能技术生成

获取百度搜索的url

方法一:使用selenium

技术点:selenium+requests+pandas

import time

import asyncio

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

from lxml import etree

import time

from selenium.webdriver.common.keys import Keys

import requests

import pandas as pd

import random

from user_agent import user_agent

headers = {

'user-agent': random.choice(user_agent),

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',

'Accept-Encoding': 'gzip, deflate',

}

def filter_url(url_list):

new_list = []

for url in url_list:

baidu_url = requests.get(url=url, headers=headers, allow_redirects=False)

real_url = baidu_url.headers['Location'] # 得到网页真正地址

if real_url.startswith('https'):

new_list.append(real_url)

return new_list

def get_url(html):

url_list=html.xpath('//*[@id]/h3/a/@href')

header_url_list=html.xpath('//*[@id]/div/article/section/div/div[2]/a[1]/@href')

return header_url_list,url_list

def get_html(word):

chromedriver = r'D:\SoftWare\chromedriver.exe'

chrome_options = Options()

chrome_options.add_argument('--headless')

driver = webdriver.Chrome(chromedriver, chrome_options=chrome_options)

driver.get("http://www.baidu.com")

time.sleep(2)

driver.find_element_by_id('kw').send_keys(word)

driver.find_element_by_id('kw').send_keys(Keys.ENTER)

time.sleep(2)

page_htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值