我是靠谱客的博主 舒适钻石,最近开发中收集的这篇文章主要介绍爬虫之中级入门快速爬多个网站,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

看完初级入门,现在来进行中级入门的编写

  • 快速爬多个网站
      • 基础代理:
      • 直接使用ip代理:
    • 对了,还有获取网站信息如何处理

快速爬多个网站

有的时候我们需要快速的进行爬取网站的内容,别问我为啥这么多需求,因为你得爬多个网站的信息呀~
在进行了浏览器的伪装之后,我们还可以进行IP的代理,我们每一个网站都用不同的代理Ip去进行访问,这样会大大的降低 -->我们是爬虫 ,打到爬虫,人人有责 的概率。

基础代理:

参考网站

import urllib.request as ur
import requests as rs
proxy_info={'host' : 'web-proxy.oa.com','port' : 8080}
proxy_support=ur.ProxyHandler({"http" :"http://%(host)s:%(port)d"%proxy_info})

opener=ur.build_opener(proxy_support)
ur.install_opener(opener)
content_1=rs.get(url,headers=headers)  

直接使用ip代理:

这里我使用了一个微信公众号 Charles的皮卡丘 公布的开源获取免费Ip的模块,里边有具体的使用方法:

###附赠爬取网站代码
'''
	@code_author: Rabin_liu
	@code_creat_time: 2018-08-15
	@code_update_time:2018-08-22
	@code_update_author: Rabin_liu
'''

from bs4 import BeautifulSoup as BS
import urllib.request as ur
import requests as rs
import re
import time
import os
from FreeProxy.proxytool import proxytool

# get ip
'''
def get_ip():

	ip_list=proxytool().get(num=1)
	ip_touple=ip_list[0]
	ip_head=ip_touple[0]
	ip_last=ip_touple[1]
	proxies={'http':'http://'+str(ip_head)+':'+str(ip_last)}
	return proxies
'''
def get_url(url, headers):
    # 设置代理
    ip_list = proxytool().get(num=1)
    ip_touple = ip_list[0]
    ip_head = ip_touple[0]
    ip_last = ip_touple[1]
    proxy_info = {'host': ip_head, 'port': ip_last}
    proxy_support = ur.ProxyHandler({"http": "http://%(host)s:%(port)s" % proxy_info})

    opener = ur.build_opener(proxy_support)
    ur.install_opener(opener)
    # url='https://blog.csdn.net/weixin_42023936/article/details/82762563'		#文章目录网站
    # proxies=get_ip()
    content_1 = rs.get(url, headers=headers)

    # print(content_1)
    # time.sleep(120)
    content_2 = BS(content_1.content, 'lxml')
    # url_3=content_2.href
    # print(content_2)
    url_2 = content_2.find_all('div', class_="current_content_article_body left")
    # print(url_2)
    for each_url in url_2:
        href = each_url.a['href']
        print(href)
        url_all.append(str(href))
    # print(each_url)
    # print(url_all)
    # each_url_1=each_url.get_text('p',class_='Current_Title')
    # print(each_url_1)	#每篇论文的题目和作者
    # http://zhekzz.yiigle.com/CN112140201807/index.htm?tplReset=qikan
    return url_all
if __name__ == '__main__':
    print('start spider————————————')
    get_url()
    print('spider ending.....now——————————————————')

暂时我进行爬虫使用到的方法就是这些,还有新的欢迎大家评论分享,要是有错误或者批评啥的欢迎来搞~~~~~~~~

对了,还有获取网站信息如何处理

python 有一个库叫 BeautifulSoup 专门是用来处理爬取到的信息的,安装方法:
pip install bs4
使用方法:
from bs4 import BeautifulSoup
添加个链接,详细的BS的使用,不是我的,我这种小菜鸡也是一步一步来滴

最后

以上就是舒适钻石为你收集整理的爬虫之中级入门快速爬多个网站的全部内容,希望文章能够帮你解决爬虫之中级入门快速爬多个网站所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部