各种采集应用和采集插件的安装和采集代码整理

python获取完整网页内容(含js动态加载的):selenium+phantomjs

PHPer 2023-12-10 205 0 0

https://blog.csdn.net/huwei2003/article/details/107490468

建议安装pip install Selenium4R

Selenium4R是 Selenium4的魔改版,国内可以直接安装

1 不管用requests_html,还是获取网页的源码时,发现通过ajax动态加载的内容都获取不到,得通过分析动态加载的接口去重新请求数据,有时很不方便。

2 下面我们利用 +phantomjs 来实现一次性获取网页上所有的内容;

1. 下载Phantomjs,下载地址:https://phantomjs.org/download.html 选择下载windows的还是linux的 2. 下完之后直接解压就OK了,然后selenium的安装用pip就行了

代码:

import requests
from lxml import etree
from lxml import html
from html.parser import HTMLParser #导入html解析库
from selenium import webdriver
import time
 
def getHTMLText(url):
        driver = webdriver.PhantomJS(executable_path='E:\\pythontest\\phantomjs-2.1.1-windows\\bin\\phantomjs')  # phantomjs的绝对路径
        time.sleep(2)
        driver.get(url)  # 获取网页
        time.sleep(2)
        return driver.page_source
 
def getHtmlByXpath(html_str,xpath):
        strhtml = etree.HTML(html_str)
        strResult = strhtml.xpath(xpath)
        return strResult
 
def w_file(filepath,contents):
    with open(filepath,'w',encoding='gb18030') as wf:
        wf.write(contents)
        
 
 
def main():
    url = 'https://m.fygdrs.com/h5/news.html?t=2&id=67062' #要访问的网址
    strhtml = getHTMLText(url) #获取HTML
    #print(html)
    w_file('E:\\pythontest\\wfile.txt',strhtml)
    strDiv=getHtmlByXpath(strhtml,"//div[@id='Article-content']")
    if(strDiv):
        str1= html.tostring(strDiv[0])
        print(str1)
        str2 = HTMLParser().unescape(str1.decode())
        print(str2)
        w_file('E:\\pythontest\\wfile3.txt',str2)
        
    print('ok')
 
 
if __name__ == '__main__':
    main()

--- end --- ...

立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。

更新于:2023-12-10 19:47:52
    您需要登录后才可以评论。 立即注册
    相关内容

    php获取链接跳转的真实地址

    PHP向js传数组

    js关于对齐方式display的三个属性

    python的selenium的用法整理

    selenium3定位元素(包括父子,兄弟)及常见操作

    使用Selenium自动验证滑块登录

    python 学习中遇到的问题整理

    没有使用asynccontextmanager ,但是报cannot import name 'asynccontextman...

    python3.10.0+pyinstaller4.7打包,IndexError: tuple index out of range...

    error: Microsoft Visual C++ 14.0 or greater is required.

    安装conda搭建python环境(保姆级教程)

    学习飞浆过程中遇到“缺少paddle.fluid”

    [NLP实践01]simpletransformers安装和文本分类简单实现

    primeqa 安装requirements时报错

    sublime text下 Python 问题:TabError: inconsistent use of tabs and s...

    uiautomation报错 No module named 'comtypes.stream' Can not load UIA...

    解决无法加载UIAutomationCore.dll的报错

    汉字目标点选识别-ddddocr(返回识别的内容和位置)

    python 常用命令

    opencv报错及解决:AttributeError: module ‘cv2‘ has no attribute ‘...

    AttributeError: module 'cv2.cv2' has no attribute 'cv'

    sublime text常用快捷键及多行列模式批量操作教程

    python配置opencv环境后,读取图片,报错:can‘t open/read file: check f...

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享