【发布时间】:2016-01-27 13:28:42
【问题描述】:
我想从一个网站上抓取一些关于几家公司的信息,你可以在下面看到两个公司的网址,它们要求相同的信息:
公司“A1”的网址:
url = 'http://www.example.com/wps/portal/!ut/p/c1/lYuxDoIwGAYf6f8oVMIoDLVIGrTQ0C6mAxqiFAejr2_dXNSYG--OHEWCv08nf5uW4C80kFsdFCqzlxmDSIoEcqt3Rc_WDHUevX3z0ByQWWO6qhEpgL9u0Rr-ujXTbZ1Csh-3HgOpzTKPZMnlH8uSU0e2jJH9Gl3nfnio4_kJwpcKOw!!/dl2/d1/L3dJMjIyQSEhL3dQRUJGUUJnTlFCaGpRQmhyUUJoSFFCZ1BRQmdBQSEhL1lJNXcvN19OMENWUkk0MjBHMTkxMElLU1E5VTJBMjBCNQ!!/?CompanyName=A1&tabOrder=7&chart_type=chart_oneDay&announcmentNumber=&isAnnual=/'
公司“A2”的网址:
url = 'http://www.example.com/wps/portal/!ut/p/c1/lYuxDoIwGAYf6f8oVMKomNQiadBCQ7uYDmiIUhyMvr51c1Fjbrw7chQJ_j6e_G2cg79QT25xUCjNXmYMIikSyK3eFR1bMlR59PbNQ3NAZrVpy1qkAP66RWP469ZMN1UKyX7cegikNvM0kCWXfyxXnFqy6xjZr9F16vqHOp6fJIF9Sw!!/dl2/d1/L3dJMjIyQSEhL3dQRUJGUUJnTlFCaGpRQmhyUUJoSFFCZ1BRQmdBQSEhL1lJNXcvN19OMENWUkk0MjBHMTkxMElLU1E5VTJBMjBCNQ!!/?CompanyName=A2&tabOrder=7&chart_type=chart_oneDay&announcmentNumber=&isAnnual=/'
正如你所看到的,在这部分之前 url 一直在变化:
/?CompanyName=A2&tabOrder=7&chart_type=chart_oneDay&announcmentNumber=&isAnnual=/
在这部分之后:
http://www.example.com/wps/portal/!ut/p/c1/
我想要的是忽略 url 中的任何变化部分,只传递下面的公司名称:
Companies = ['A1', 'A2', 'A3']
例如,当然它会带有一个 for 循环:
url = 'http://www.example.com/wps/portal/!ut/p/c1/04_SB8K8xLLM9MSSzPy8xBz9CP0os3g_A-ewIE8TIwN3Q0tDA0_v4EDLUCNHIwMvc6B8JJK8QbCpgYGniU9YiLOPu7GBgQFJut0DwkxBuoONggO8jA08jQjo9vPIz03Vj9SPMsepyslUP0Q_0hWoKBKvooLc0IhyQ91AAHb2Eas!/dl2/d1/L0lDUmlTUSEhL3dHa0FKRnNBL1lCUlp3QSEhL2Vu/?typeofsearch=1&company=&CompanyName=' + companies +'A1&tabOrder=1&x=0&y=0'
我该怎么做?
【问题讨论】:
-
基本上,您想从 url 字符串中获取一个 subString,其中 companyName = something,然后执行一个循环,将每个找到的公司名称添加到字符串数组中? :)
-
你做了哪些研究?你知道用于解析和创建 URL 的 python 库吗?
-
很确定我上周回答了同样的问题。
-
抱歉没有早点回复,是的,彼得我之前问过,当时我有 3 个网站进行解析,其中两个网站的代码可以工作,我认为它适用于第三个也是重要的网站,但重要的网站没有工作。这就是为什么我在这里要求另一种方式和一个简单的解决方案..“”只传递公司名称而忽略其他所有内容“”..抱歉,如果您看到它重复..但我不是故意的..
标签: python parsing url screen-scraping