记录用web scraper爬取裁判文书网的文书列表信息以及批量下载word文书

本文档记录了如何使用Web Scraper爬取裁判文书网的文书列表信息,包括文书标题、文号、日期和摘要,并探讨了如何在Python中模拟鼠标键盘操作批量下载word文书,尽管遇到反爬难题,但通过巧妙配置和自动化工具,实现了高效解决方案。
摘要由CSDN通过智能技术生成

这个是一位网友在B站交流的一个问题,这里记录一下。

需求

1、爬取的网站地址:http://wenshu.court.gov.cn/website/wenshu/181217BMTKHNT2W0/index.html?pageId=7bcf3b0574e320a487ada1f504759be4&s21=%E8%B5%94%E5%81%BF

2、需要抓取的信息

爬取文书列表内容,报告标题、文号、日期、摘要等等信息。

3、需要抓取多页,比如说前10页。

分析网站的情况

1、抓取的页面翻页的时候,url是不会变的。而在页面的源码当中又找不到内容,说明网页是通过异步加载的。

2、打开F12,就会弹出下面的暂停提示,阻止后续的查看。没事,点击右下角的取消断点,再运行即可。

3、点击“network”,点击网页的第二页,查看请求的数据。

可以看到,是post请求,后面需要有一堆的参数

一般而言,通过这样请求之后,可以获取到真实的json文件,里面就包含了网页中文书的列表当中,然而这次却是不一样,请求得到的居然是加密的信息,还需要通过一定方式来进行解密才行。

到这里,已经可以感受到网页开发人员的“苦心”,反爬的措施可谓是非常的多。不过,我还是在网上找到了一篇网友关于用python解决这上面问题的办法和代码

function getKey(cookie) { // var cookie = getCookie('vjkl5'); var arrFun = [makeKey_0, makeKey_1, makeKey_2, makeKey_3, makeKey_4, makeKey_5, makeKey_6, makeKey_7, makeKey_8, makeKey_9, makeKey_10, makeKey_11, makeKey_12, makeKey_13, makeKey_14, makeKey_15, makeKey_16, makeKey_17, makeKey_18, makeKey_19, makeKey_20, makeKey_21, makeKey_22, makeKey_23, makeKey_24, makeKey_25, makeKey_26, makeKey_27, makeKey_28, makeKey_29, makeKey_30, makeKey_31, makeKey_32, makeKey_33, makeKey_34, makeKey_35, makeKey_36, makeKey_37, makeKey_38, makeKey_39, makeKey_40, makeKey_41, makeKey_42, makeKey_43, makeKey_44, makeKey_45, makeKey_46, makeKey_47, makeKey_48, makeKey_49, makeKey_50, makeKey_51, makeKey_52, makeKey_53, makeKey_54, makeKey_55, makeKey_56, makeKey_57, makeKey_58, makeKey_59, makeKey_60, makeKey_61, makeKey_62, makeKey_63, makeKey_64, makeKey_65, makeKey_66, makeKey_67, makeKey_68, makeKey_69, makeKey_70, makeKey_71, makeKey_72, makeKey_73, makeKey_74, makeKey_75, makeKey_76, makeKey_77, makeKey_78, makeKey_79, makeKey_80, makeKey_81, makeKey_82, makeKey_83, makeKey_84, makeKey_85, makeKey_86, makeKey_87, makeKey_88, makeKey_89, makeKey_90, makeKey_91, makeKey_92, makeKey_93, makeKey_94, makeKey_95, makeKey_96, makeKey_97, makeKey_98, makeKey_99, makeKey_100, makeKey_101, makeKey_102, makeKey_103, makeKey_104, makeKey_105, makeKey_106, makeKey_107, makeKey_108, makeKey_109, makeKey_110, makeKey_111, makeKey_112, makeKey_113, makeKey_114, makeKey_115, makeKey_116, makeKey_117, makeKey_118, makeKey_119, makeKey_120, makeKey_121, makeKey_122, makeKey_123, makeKey_124, makeKey_125, makeKey_126, makeKey_127, makeKey_128, makeKey_129, makeKey_130, makeKey_131, makeKey_132, makeKey_133, makeKey_134, makeKey_135, makeKey_136, makeKey_137, makeKey_138, makeKey_139, makeKey_140, makeKey_141, makeKey_142, makeKey_143, makeKey_144, makeKey_145, makeKey_146, makeKey_147, makeKey_148, makeKey_149, makeKey_150, makeKey_151, makeKey_152, makeKey_153, makeKey_154, makeKey_155, makeKey_156, makeKey_157, makeKey_158, makeKey_159, makeKey_160, makeKey_161, makeKey_162, makeKey_163, makeKey_164, makeKey_165, makeKey_166, makeKey_167, makeKey_168, makeKey_169, makeKey_170, makeKey_171, makeKey_172, makeKey_173, makeKey_174, makeKey_175, makeKey_176, makeKey_177, makeKey_178, makeKey_179, makeKey_180, makeKey_181, makeKey_182, makeKey_183, makeKey_184, makeKey_185, makeKey_186, makeKey_187, makeKey_188, makeKey_189, makeKey_190, makeKey_191, makeKey_192, makeKey_193, makeKey_194, makeKey_195, makeKey_196, makeKey_197, makeKey_198, makeKey_199, makeKey_200, makeKey_201, makeKey_202, makeKey_203, makeKey_204, makeKey_205, makeKey_206, makeKey_207, makeKey_208, makeKey_209, makeKey_210, makeKey_211, makeKey_212, makeKey_213, makeKey_214, makeKey_215, makeKey_216, makeKey_217, makeKey_218, makeKey_219, makeKey_220, makeKey_221, makeKey_222, makeKey_223, makeKey_224, makeKey_225, makeKey_226, makeKey_227, makeKey_228, makeKey_229, makeKey_230, makeKey_231, makeKey_232, makeKey_233, makeKey_234, makeKey_235, makeKey_236, makeKey_237, makeKey_238, makeKey_239, makeKey_240, makeKey_241, makeKey_242, makeKey_243, makeKey_244, makeKey_245, makeKey_246, makeKey_247, makeKey_248, makeKey_249, makeKey_250, makeKey_251, makeKey_252, makeKey_253, makeKey_254, makeKey_255, makeKey_256, makeKey_257, makeKey_258, makeKey_259, makeKey_260, makeKey_261, makeKey_262, makeKey_263, makeKey_264, makeKey_265, makeKey_266, makeKey_267, makeKey_268, makeKey_269, makeKey_270, makeKey_271, makeKey_272, makeKey_273, makeKey_274, makeKey_275, makeKey_276, makeKey_277, makeKey_278, makeKey_279, makeKey_280, makeKey_281, makeKey_282, makeKey_283, makeKey_284, makeKey_285, makeKey_286, makeKey_287, makeKey_288, makeKey_289, makeKey_290, makeKey_291, makeKey_292, makeKey_293, makeKey_294, makeKey_295, makeKey_296, makeKey_297, makeKey_298, makeKey_299, makeKey_300, makeKey_301, makeKey_302, makeKey_303, makeKey_304, makeKey_305, makeKey_306, makeKey_307, makeKey_308, makeKey_309, makeKey_310, makeKey_311, makeKey_312, makeKey_313, makeKey_314, makeKey_315, makeKey_316, makeKey_317, makeKey_318, makeKey_319, makeKey_320, makeKey_321, makeKey_322, makeKey_323, makeKey_324, makeKey_325, makeKey_326, makeKey_327, makeKey_328, makeKey_329, makeKey_330, makeKey_331, makeKey_332, makeKey_333, makeKey_334, makeKey_335, makeKey_336, makeKey_337, makeKey_338, makeKey_339, makeKey_340, makeKey_341, makeKey_342, makeKey_343, makeKey_344, makeKey_345, makeKey_346, makeKey_347, makeKey_348, makeKey_349, makeKey_350, makeKey_351, makeKey_352, makeKey_353, makeKey_354, makeKey_355, makeKey_356, makeKey_357, makeKey_358, makeKey_359, makeKey_360, makeKey_361, makeKey_362, makeKey_363, makeKey_364, makeKey_365, makeKey_366, makeKey_367, makeKey_368, makeKey_369, makeKey_370, makeKey_371, makeKey_372, makeKey_373, makeKey_374, makeKey_375, makeKey_376, makeKey_377, makeKey_378, makeKey_379, makeKey_380, makeKey_381, makeKey_382, makeKey_383, makeKey_384, makeKey_385, makeKey_386, makeKey_387, makeKey_388, makeKey_389, makeKey_390, makeKey_391, makeKey_392, makeKey_393, makeKey_394, makeKey_395, makeKey_396, makeKey_397, makeKey_398, makeKey_399]; var funIndex = strToLong(cookie) % arrFun.length; var fun = arrFun[funIndex]; var result = fun(cookie); return result } function Navi(id) { var unzipid = unzip(id); var realid = com.str.Decrypt(unzipid); return realid }
好的,以下是关于使用 Pythonweb scraper 爬取二级页的简单教程: 1. 导入必要的库 在 Python 中,我们需要使用一些第三方库来实现爬取。其中,最为常用的包括 requests 和 BeautifulSoup。前者用于获取页源代码,后者用于解析 HTML 代码。 ```python import requests from bs4 import BeautifulSoup ``` 2. 获取二级页 要获取二级页的内容,我们首先需要获取主页的链接,然后使用 requests 库获取其源代码,进而找到所有二级页的链接。我们可以使用 BeautifulSoup 库解析 HTML 代码,并使用 find_all 方法找到所有 a 标签中的 href 属性,即所有链接。 ```python # 获取主页的链接 url = "https://example.com" response = requests.get(url) soup = BeautifulSoup(response.content, "html.parser") # 获取所有二级页的链接 links = [] for link in soup.find_all("a"): href = link.get("href") if href.startswith("https://example.com/second-level"): links.append(href) ``` 这里我们假设所有二级链接都以 "https://example.com/second-level" 开头。 3. 爬取二级页的内容 现在我们已经得到了所有二级页的链接,接下来就可以依次爬取它们的内容了。和获取主页的源代码类似,我们可以使用 requests 库获取每个二级页的源代码,然后使用 BeautifulSoup 库解析 HTML 代码,找到我们需要的内容。 ```python # 爬取所有二级页的内容 for link in links: response = requests.get(link) soup = BeautifulSoup(response.content, "html.parser") # 这里可以根据需要找到需要的内容 ... ``` 这里需要注意的是,每个二级页的 HTML 代码可能会有所不同。因此,我们需要根据实际情况找到我们需要的内容。 4. 完整代码 以下是一个完整的示例程序,用于爬取某个站中以 "https://example.com/second-level" 开头的所有二级页的标题和正文: ```python import requests from bs4 import BeautifulSoup # 获取主页的链接 url = "https://example.com" response = requests.get(url) soup = BeautifulSoup(response.content, "html.parser") # 获取所有二级页的链接 links = [] for link in soup.find_all("a"): href = link.get("href") if href.startswith("https://example.com/second-level"): links.append(href) # 爬取所有二级页的内容 for link in links: response = requests.get(link) soup = BeautifulSoup(response.content, "html.parser") # 找到标题和正文 title = soup.find("h1").text content = soup.find("div", class_="content").text # 输出结果 print("Title:", title) print("Content:", content) ``` 这段代码可以根据实际需要进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值