当前位置: 首页 > news >正文

企信网是什么网站wordpress火车头采集发布失败

企信网是什么网站,wordpress火车头采集发布失败,科技资讯 哪个网站好,网站开发软件要求文章目录 1. 常用库安装2. 基础爬虫开发2.1. 使用 requests 获取网页内容2.2. 使用 BeautifulSoup 解析 HTML2.3. 处理登录与会话 3. 进阶爬虫开发3.1. 处理动态加载内容(Selenium)3.2. 使用Scrapy框架3.3. 分布式爬虫(Scrapy-Redis&#xff…

文章目录

  • 1. 常用库安装
  • 2. 基础爬虫开发
    • 2.1. 使用 requests 获取网页内容
    • 2.2. 使用 BeautifulSoup 解析 HTML
    • 2.3. 处理登录与会话
  • 3. 进阶爬虫开发
    • 3.1. 处理动态加载内容(Selenium)
    • 3.2. 使用Scrapy框架
    • 3.3. 分布式爬虫(Scrapy-Redis)
  • 4. 爬虫优化与反反爬策略
    • 4.1. 常见反爬机制及应对
    • 4.2. 代理IP使用示例
    • 4.3. 随机延迟与请求头

BeautifulSoup 官方文档
https://beautifulsoup.readthedocs.io/zh-cn/v4.4.0/
https://cloud.tencent.com/developer/article/1193258
https://blog.csdn.net/zcs2312852665/article/details/144804553

参考:
https://blog.51cto.com/haiyongblog/13806452

1. 常用库安装

pip install requests beautifulsoup4 scrapy selenium pandas

2. 基础爬虫开发

2.1. 使用 requests 获取网页内容

import requestsurl = 'https://top.baidu.com/board?tab=realtime'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}response = requests.get(url, headers=headers)
print(response.status_code)     # 200表示成功
print(response.text[:500])      # 打印前500个字符

在这里插入图片描述

2.2. 使用 BeautifulSoup 解析 HTML

from bs4 import BeautifulSouphtml_doc = """<html><head><title>测试页面</title></head><body><p class="title"><b>示例网站</b></p><p class="story">这是一个示例页面<a href="http://example.com/1" class="link" id="link1">链接1</a><a href="http://example.com/2" class="link" id="link2">链接2</a></p>"""soup = BeautifulSoup(html_doc, 'html.parser')# 获取标题
print(soup.title.string)# 获取所有链接
for link in soup.find_all('a'):print(link.get('href'), link.string)# 通过CSS类查找
print(soup.find('p', class_='title').text)

2.3. 处理登录与会话

import requestslogin_url = 'https://example.com/login'
target_url = 'https://example.com/dashboard'session = requests.Session()# 登录请求
login_data = {'username': 'your_username','password': 'your_password'
}response = session.post(login_url, data=login_data)if response.status_code == 200:# 访问需要登录的页面dashboard = session.get(target_url)print(dashboard.text)
else:print('登录失败')

3. 进阶爬虫开发

3.1. 处理动态加载内容(Selenium)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager# 设置无头浏览器
options = webdriver.ChromeOptions()
options.add_argument('--headless')  # 无界面模式
options.add_argument('--disable-gpu')# 自动下载chromedriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)url = 'https://dynamic-website.com'
driver.get(url)# 等待元素加载(隐式等待)
driver.implicitly_wait(10)# 获取动态内容
dynamic_content = driver.find_element(By.CLASS_NAME, 'dynamic-content')
print(dynamic_content.text)driver.quit()

3.2. 使用Scrapy框架

# 创建Scrapy项目
# scrapy startproject example_project
# cd example_project
# scrapy genspider example example.com# 示例spider代码
import scrapyclass ExampleSpider(scrapy.Spider):name = 'example'allowed_domains = ['example.com']start_urls = ['http://example.com/']def parse(self, response):# 提取数据title = response.css('title::text').get()links = response.css('a::attr(href)').getall()yield {'title': title,'links': links}# 运行爬虫
# scrapy crawl example -o output.json

3.3. 分布式爬虫(Scrapy-Redis)

# settings.py配置
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
REDIS_URL = 'redis://localhost:6379'# spider代码
from scrapy_redis.spiders import RedisSpiderclass MyDistributedSpider(RedisSpider):name = 'distributed_spider'redis_key = 'spider:start_urls'def parse(self, response):# 解析逻辑pass

4. 爬虫优化与反反爬策略

4.1. 常见反爬机制及应对

User-Agent检测 :随机切换User-Agent
IP限制:使用代理IP池
验证码:OCR识别或打码平台
行为分析:模拟人类操作间隔
JavaScript渲染:使用Selenium或Pyppeteer

4.2. 代理IP使用示例

import requestsproxies = {'http': 'http://proxy_ip:port','https': 'https://proxy_ip:port'
}try:response = requests.get('https://example.com', proxies=proxies, timeout=5)print(response.text)
except Exception as e:print(f'请求失败: {e}')

4.3. 随机延迟与请求头

import random
import time
import requests
from fake_useragent import UserAgentua = UserAgent()def random_delay():time.sleep(random.uniform(0.5, 2.5))def get_with_random_headers(url):headers = {'User-Agent': ua.random,'Accept-Language': 'en-US,en;q=0.5','Referer': 'https://www.google.com/'}random_delay()return requests.get(url, headers=headers)
http://www.dtcms.com/a/476979.html

相关文章:

  • wordpress git常州百度seo排名
  • 三网合一网站怎么做注册网站用于跳转虚拟货币网站违法
  • 怎么做淘宝客网站和APP北京住房城乡建设部网站
  • 怎样防止网站被黑建筑行业大数据综合查询平台官网
  • 植物设计网站推荐网站上面的图片是怎么做的
  • dooor网站建设银行网站查询房贷信息查询
  • 网站做适配多少钱企业建设营销网站的基本步骤
  • 公司做网站能抵扣进项税吗网红营销李佳琦案例分析
  • 网站设计是平面设计吗福建seo网站
  • 昆明网站开发正规培训汉中中药材初加工平台
  • 网站建设音乐插件怎么弄谷歌网站怎么设置才能打开网站
  • 软件公司网站系统集成建设河北建投商务网
  • 建设电子商务网站的步骤怎么做外贸电商
  • 微 网站购物商城网页模板
  • 自己编写代码建设微网站自适应网站开发seo
  • 做网站的属于什么专业?深圳网站建设手机网站建设
  • 中国建设部网官方网站多少钱的英文翻译
  • 成品短视频网站源码搭建昆明做网站建设价位
  • node做网站建设网站商城
  • 成都网站制作汕头建设网站需要注意事项
  • 网站幻灯通栏代码网站上线稳定后工作
  • wordpress 删除超文本福建网站优化建设
  • 怎么样创建个人网站可以分为( )
  • 广州自助建设网站平台织梦网站建设培训
  • 企业手机网站建设渠道宁波商城网站建设
  • 做视频采集网站违法吗网站seo策划方案设计
  • app官网网站建设怎么做分享软件的网站
  • 设计一个网站需要什么湛江网站建设制作费用
  • 门户网站建设进展情况农村电商c2c模式
  • 做网站服务网站建设与维护的试题卷判断题