Notes du robot d'exploration

'' '

Idées d'exploration:
1, requêtes (url)
2, requêtes + json
3, requêtes + XPath
4, requêtes + BeautifulSoup
5, sélénium
6, framework scrapy
7, scrapy-redis et distribué

================================================
OS :
import os
os.system («C: && p.txt»)
os.system («ping 127.0.0.1»)

================================================
demandes:
demandes .get (url, headers = headers, data = {'': ''}, proxies = proxies)

================================================
Proxys :
mandataires = {'http': '124.207.82.166:8008'} # 47.98.129.198
response = requests.get (request_url, proxies = proxies) # 发起 请求

================================================
Fichier :
avec open (chemin, 'w') comme f:
f.write (texte)

===============================================
Filetage :
import threading
threading.Thread (target = fun, kwargs = {'list_url': list_url, 'path_order': path_order1}). start ()

================================================
demandes 、 json :
1.data = json.load (open ("package1.json", encoding = "utf-8"))
response = requests.get (url, headers = headers)
print (response.text)

2.response = requests.get (url)
data = response.text
obj = json.loads (données)

===============================================
demandes, XPath
from lxml import etree
response = requests.get (list_url, headers = headers)
content = response.content
selector = etree.HTML (scontent) # Charger la page dans l'arborescence
etree items = selector.xpath (path_order) # Trouver l'arbre selon XPath, Revenir à l'itération,
title = item.xpath ("./ div / p [1] / a / text ()") [0] .strip () # L'élément d'objet itératif peut continuer à être recherché par XPath

===============================================
demandes 、 BeautifulSoup
from bs4 import BeautifulSoup
response = requests.get (url)
html = response.text
soup = BeautifulSoup (html, 'lxml')
soup_str = soup.prettify () # 标准化 html
tag = soup.b
tag 的 一 系 类 操作

===============================================
Selenium: Installation Pilote Selenium correspondant à la version chrome https://www.cnblogs.com/JHblogs/p/7699951.html
et installez la librairie de dépendances pip install selenium
depuis selenium import webdriver
chromedriver = "G: /4Anaconda/chromedriver.exe" # Si le pilote est dans Cette étape peut être omise sous le chemin python
browser = webdriver.Chrome (chromedriver) #Ouvrir
une page Web
browser.get ("http://www.baidu.com")
browser.find_element_by_id ("kw"). Send_keys ("selenium" )
browser.find_element_by_id ("su"). click ()
browser.title
browser.set_window_size (480, 800)
# les numéros de paramètres sont des pixels browser.back ()
browser.forward () #Quitter
et fermer chaque fenêtre associée chauffeur

browser.quit ()


#Fermez la fenêtre actuelle # browser.close ()

Attente implicite

depuis le webdriver d'importation de sélénium

navigateur = webdriver.Chrome ()

Ici, implicitly_wait () est utilisé pour implémenter l'attente implicite

browser.implicitly_wait (10)
browser.get ('https://www.zhihu.com/explore')
input = browser.find_element_by_class_name ('zu-top-add-question')
print (entrée)

显示 等待
depuis sélénium import webdriver
depuis selenium.webdriver.common.by import par
depuis selenium.webdriver.support.ui import WebDriverWait
depuis selenium.webdriver.support import attendu_conditions comme EC

browser = webdriver.Chrome ()
browser.get ('https://www.taobao.com/')
wait = WebDriverWait (navigateur, 10)
input = wait.until (EC.presence_of_element_located ((By.ID, 'q' )))
button = wait.until (EC.element_to_be_clickable ((By.CSS_SELECTOR, '.btn-search')))
print (input, button)

'' '

'' '
# 1. Créer un projet scrapy (cmd):
scrapy startproject weibospider
cd weibospider

    #二、 创建sipder语句cmd:scrapy genspider WeiboSpider image.baidu.com
    
    拒绝爬虫协议 ROBOTSTXT_OBEY = False 
    
    运行爬虫 scrapy crawl baiduimg
    
    #三、 设置数据结构
    name = scrapy.Field()
    
    #四、 导入 数据 from hotnewsSpider.items import WeiboSpiderItem
    使用 weiboitem = WeiboSpiderItem()
    weiboitem['name'] = '123'
    返回 yield weiboitem
    
    #五、 发送请求传递 (在parse中)
    yield scrapy.Request(url=url, headers=self.headers, cookies=self.cookies, callback=self.clickFindMore)
    # 发送请求传递并回调,加参 callback
    yield scrapy.Request(link,callback=self.parse_detail)
    
    #六、重写初始化请求
    def start_requests(self):
        for url in self.urls:
            yield scrapy.Request(url=url, headers=self.headers, cookies=self.cookies, callback=self.parse)
            
    #七、接收response
    def parse(self,response):
        pass

'' '

Je suppose que tu aimes

Origine blog.csdn.net/GeniusXYT/article/details/101516801
conseillé
Classement