Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果[string]中的[string]不适用于请求的网页文本_Python_Screen Scraping - Fatal编程技术网

Python 如果[string]中的[string]不适用于请求的网页文本

Python 如果[string]中的[string]不适用于请求的网页文本,python,screen-scraping,Python,Screen Scraping,我正试图打开一个网页,并将其中的一些字符串刮到一个列表中。该列表最终将由网页上显示的所有名称填充。在尝试这样做时,我的代码如下所示: import xlsxwriter, urllib.request, string, http.cookiejar, requests def main(): username = 'john.mauran' password = 'fZSUME1q' log_url = 'https://aries.case.com.pl/

我正试图打开一个网页,并将其中的一些字符串刮到一个列表中。该列表最终将由网页上显示的所有名称填充。在尝试这样做时,我的代码如下所示:

    import xlsxwriter, urllib.request, string, http.cookiejar, requests


def main():

    username = 'john.mauran'
    password = 'fZSUME1q'
    log_url = 'https://aries.case.com.pl/'
    dest_url = 'https://aries.case.com.pl/main_odczyt.php?strona=eksperci'
    login_values = {'username' : username , 'password' : password }
    r = requests.post(dest_url, data=login_values, verify=False, allow_redirects=False)

    open_sesame = r.text
    #reads the expert page
    readpage_list = open_sesame.splitlines()
    #opens up a new file in excel
    workbook = xlsxwriter.Workbook('expert_book.xlsx')
    #adds worksheet to file
    worksheet = workbook.add_worksheet()

    #initializing the variable used to move names and dates
    #in the excel spreadsheet
    boxcoA = ""
    boxcoB = ""
    #initializing expert attribute variables and lists
    url_ticker = 0
    name_ticker = 0
    raw_list = []
    url_list = []
    name_list= []
    date_list= []
    #this loop goes through and finds all the lines
    #that contain the expert URL and name and saves them to raw_list::
    #raw_list loop

    for i in open_sesame:
        if '<tr><td align=left><a href=' in i:
            raw_list += i
    if not raw_list:
        print("List is empty")
    if raw_list:
        print(raw_list)

main()
import xlsxwriter、urllib.request、string、http.cookiejar、requests
def main():
用户名='john.mauran'
密码='fZSUME1q'
日志https://aries.case.com.pl/'
目的地https://aries.case.com.pl/main_odczyt.php?strona=eksperci'
登录\u值={'username':用户名,'password':密码}
r=requests.post(dest\u url,data=login\u值,verify=False,allow\u redirects=False)
打开\u sesame=r.text
#阅读专家页面
readpage\u list=打开\u sesame.splitlines()
#在excel中打开一个新文件
工作簿=xlsxwriter.workbook('expert\u book.xlsx')
#将工作表添加到文件中
工作表=工作簿。添加工作表()
#初始化用于移动名称和日期的变量
#在excel电子表格中
boxcoA=“”
boxcoB=“”
#初始化专家属性变量和列表
url\u ticker=0
name\u ticker=0
原始列表=[]
url_list=[]
name_list=[]
日期列表=[]
#这个循环遍历并找到所有的行
#包含专家URL和名称并将其保存到原始列表中:
#原始列表循环
对于《芝麻开门》中的我:

如果我不知道你到底想做什么,但这毫无意义:

for i in open_sesame:
    if '<tr><td align=left><a href=' in i:
        raw_list += i
开放式芝麻中的i的

如果“您应该使用xml/html解析器来抓取网站。好的,谢谢。我不明白请求返回的是单个字符串。那么,有没有一种方法可以用来将请求重新组织为多行字符串,而不是一个大字符串?好的,谢谢。我不明白请求返回的是单个字符串。那么,有没有一种方法可以用来将请求重新组织为多行字符串,而不是一个大字符串?看起来你已经找到了这一部分。
.splitlines()
方法将字符串拆分为行。我试过了。打印出该操作的结果显示文件中的字符串与字符数量相同,这意味着一个巨大的列,这是不好的。正如文森特所建议的,我学会了使用beautifulsoup。