专栏中心

EEPW首页 > 专栏 > 爬虫开发技巧

爬虫开发技巧

发布人:laical 时间:2020-10-20 来源:工程师 发布文章

由于互联网的发展进步,网络爬虫也越来越多,更多的研发从事爬虫开发工作中,那在爬虫开发中需要掌握的技巧有那些呢?

1:GET请求和POST请求

2:伪装浏览器

现在很多网站为了防爬虫,都会对user-agent这个参数进行检测,我们在爬数据时把这个参数带上。


headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.1276.73 Safari/537.36', 'Referer':'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=nike'}
response = requests.get(url=url, headers=headers)
3:cookies处理

很多网站的数据都是需要你登录后才能进行数据爬取,而用户的登录状态则是记录在cookie中,这个时候我们就需要去模拟用户的登录来获取对应的cookie

API接口开始运行
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
Cookies生成进程开始运行
Cookies检测进程开始运行
正在生成Cookies 账号 180000000 密码 16yun
正在测试Cookies 用户名 180000000
Cookies有效 180000000
4:代理IP设置

通过代理IP的方式来解决对我们爬虫程序的限制,当我们发现我们的IP被封时,可以通过切换IP的形式来继续爬取数据


import org.json.JSONException; import org.json.JSONObject; import org.openqa.selenium.Platform; import org.openqa.selenium.Proxy; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.htmlunit.HtmlUnitDriver; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import com.gargoylesoftware.htmlunit.DefaultCredentialsProvider; import com.gargoylesoftware.htmlunit.WebClient; public class FirefoxDriverProxyDemo {    // 代理隧道验证信息    final static String proxyUser = "username";    final static String proxyPass = "password";    // 代理服务器    final static String proxyHost = "t.16yun.cn";    final static int proxyPort = 31111;    final static String firefoxBin = "C:/Program Files/Mozilla Firefox/firefox.exe";    public static void main(String[] args) throws JSONException    {        System.setProperty("webdriver.firefox.bin", firefoxBin);        FirefoxProfile profile = new FirefoxProfile();        profile.setPreference("network.proxy.type", 1);        profile.setPreference("network.proxy.http", proxyHost);        profile.setPreference("network.proxy.http_port", proxyPort);        profile.setPreference("network.proxy.ssl", proxyHost);        profile.setPreference("network.proxy.ssl_port", proxyPort);        profile.setPreference("username", proxyUser);        profile.setPreference("password", proxyPass);        profile.setPreference("network.proxy.share_proxy_settings", true);        profile.setPreference("network.proxy.no_proxies_on", "localhost");        FirefoxDriver driver = new FirefoxDriver(profile);    } }              

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

半导体制造与AI数据中心建设推高中国台湾电力消耗

CC2591 社区视频

视频 2010-03-15

特朗普召集科技巨头赴白宫签署电力支付承诺

智能计算 2026-03-05

ASIC阵营经典对决:NVIDIA 博通携台积电成3.5D封装先发选手

EDA/PCB 2026-03-05

思科借Outshift布局智能体人工智能,为认知互联网蓄势待发

2026年文晔营运动能看好,数据中心与服务器成增长主力

AI狂吃存储!2026年价格将再涨130%

网络与存储 2026-03-05

晶圆代工报价全面上涨

EDA/PCB 2026-03-05

比亚迪测试创纪录的 1500 千瓦闪充设备

DAC8564 社区视频

视频 2010-03-15

MAX1556_MAX1557 降压型调节器

MAX1954A降压控制器

MAX1540_MAX1541双通道脉宽调制(PWM)控制器

MAX1858A_MAX1875A_MAX1876A降压控制器

MAX1553_MAX1554 背光驱动

CC2520 社区视频

视频 2010-03-15

CC2530 片上系统视频

视频 2010-03-15

国产大功率优选 | 非隔离升降压电源KUB系列(10-50A)

D-Cap 控制模式的原理及应用(一)

视频 2010-03-15

国民技术2026合作伙伴大会揭晓年度大奖,世强硬创荣获“战略贡献伙伴”与“市场先锋”奖

2026-03-04
更多 培训课堂
更多 焦点
更多 视频

技术专区